質問 |
||
| 質問者:lobin_2008 | エクセルで関数を使って自動処理出来ないでしょうか? | |
|---|---|---|
困り度:
|
シート1に、Aさんのデータがk1.k2.k3.k4.k6.k7にあります。Bさんk10.k11.k12.k13.k15.k16、Cさんk19.k20.k21.k22.k24.k25という様に、約100名分あります。 そのk列のデータをシート3に 1行目 k1.k2.k3.k4.k6.k7 2行目 k10.k11.k12.k13.k15.k16 3行目 k19.k20.k21.k22.k24.k25 ↓続く 100行目 上記のように行を詰めて表示させたいのですが、何か良い方法はありますでしょうか? よろしくお願いします。 |
|
質問投稿日時:08/07/06 11:57 質問番号:4155210 |
||
回答 |
|
| 回答者:imogasi | 質問の表現では良くわからない。 実例の書き方も不満あるが、実例だけではルールはわからないことが多いのだ。 折り返しのルールも文章で書くこと。2セル空白だと行を改めるルールか? 回答者に不要な推測させないこと。 下記のAさん、Bさんは・・はどうして判別できるのか? 空白セル(行)の存在を以って、行を改めるのか? 書き方例見本 行番号 K列(A列の例として質問には書くべきだ) (1)A 10 (AはAさんのデータのつもり。以下同じ) (2)A 11 ・・ (5)空白<−−異例 (7)A 23 (8)空白 (9)空白 (10)B 14 (11)B 34 ・・・ (14)空白<−−異例 (15)B 13 (16)B 12 (17)空白 (18)空白 (19)C 3 ・・ ーーー こういう表の組み換えは、関数では難しい。それを質問に出すのは エクセルの関数経験が少ないからだ。 ーー 「2空白が続くと改行、1セル空白は詰める」ならVBAでなら比較的簡単なコードでやれるが、質問者がVBAがわかるかどうか不明で 回答は略。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/06 12:44 回答番号:No.6 |
|
| この回答へのお礼 | 質問の仕方が悪くて申し訳ございません。 おっしゃる通りエクセルは、今まで簡単な関数しか使った事はありませんでしたので・・・ もっと勉強します。 |
回答良回答20pt |
|
| 回答者:merlionXX | #1、#4です。 > Aさんのデータは k1.k2.k3.k4.k5.k6 > Bさんのデータは k10.k11.k12.k13.k14.k15 > と、いうように修正しました。 > Aさん、Bさん等個々のデータの区切りは3行です。 まえのままでもよかったのですが ならば、+(COLUMN()>4)*1 が不要になりましたので =INDEX(Sheet1!$K:$K,COLUMN()+(ROW()-1)*9) ですね。 |
|---|---|
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/06 12:37 回答番号:No.5 |
|
| この回答へのお礼 | 表示する事ができました。 後は、自分で調べながらやろうと思います。 どうもありがとうございました。 |
回答 |
|
| 回答者:merlionXX | #1です。 ひょっとして空白は不規則ではなくすべて掲示されたとおりの配置なのですか? ならばA1に =INDEX($K:$K,COLUMN()+(COLUMN()>4)*1+(ROW()-1)*9) と入れて、F1まで式をコピー 次にA1からF1をまとめて100行目までコピーしてみてください。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/06 12:32 回答番号:No.4 |
|
| この回答へのお礼 | 表示する事ができました。 後は、自分で調べながらやろうと思います。 どうもありがとうございました。 |
回答 |
|
| 回答者:jo-zen | 逆の内容になりますが、似た質問が先日ありました。そちらに私が回答した内容を応用すればいいのかと思います。以下のURLを参考にしてみてください。 http://oshiete1.goo.ne.jp/qa4153265.html 数字の入ったセル7+空白もしくは文字列が入ったセル2の9つのセルが1セットになるのかと思いますが、シート3の1行目にOFFSET関数を使った数式を入れてあげて、あとは1行目を下にコピーする方法がいいかと思います。シート3の A1に =OFFSET(Sheet1!$K$1,8*(ROW()-1),0) B1に =OFFSET(Sheet1!$K$2,9*(ROW()-1),0) C1に =OFFSET(Sheet1!$K$3,9*(ROW()-1),0) というふうにG1まで入力してあげればいいかと思います。あとは、A1:G1を下にコピーしてあげればいいかと思います。 |
|---|---|
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| |
回答日時:08/07/06 12:29 回答番号:No.3 |
|
| この回答へのお礼 | 表示する事ができました。 後は、自分で調べながらやろうと思います。 どうもありがとうございました。 |
回答 |
|
| 回答者:keirika | A列〜D列 =OFFSET(Sheet1!$K$1,COLUMN()+(ROW()-1)*9-1,0,1,1) E列〜F列 =OFFSET(Sheet1!$K$1,COLUMN()+(ROW()-1)*9,0,1,1) を入れてみてください。 |
|---|---|
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/06 12:11 回答番号:No.2 |
|
| この回答へのお礼 | 表示する事ができました。 後は、自分で調べながらやろうと思います。 どうもありがとうございました。 |
回答 |
|
| 回答者:merlionXX | すべてK列にあるんですよね?そして不規則に空白のセルがある・・・。 では、AさんやBさん以下100名のそれぞれのデータの区切りはどうやって判定すればいいんでしょう? |
|---|---|
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| |
回答日時:08/07/06 12:05 回答番号:No.1 |
|
| この回答への補足 | 早速回答ありがとうございます。 不規則に空白のセルがある。 まず、表に問題があるようですので、ここは修正しました。 Aさんのデータは k1.k2.k3.k4.k5.k6 Bさんのデータは k10.k11.k12.k13.k14.k15 と、いうように修正しました。 Aさん、Bさん等個々のデータの区切りは3行です。 よろしくお願いします。 |
| この回答へのお礼 | 表示する事ができました。 後は、自分で調べながらやろうと思います。 どうもありがとうございました。 |