- ベストアンサー
エクセル データ並び変換(縦から横) 不要行削除
同一キーに属する複数データが縦並び(行)になっているのを横並び(列)に直して、下段の データを行ごと削除したいのですが、どのような方法が考えられますでしょうか? キーの数は不特定で空白行はありません。データはキーも含めて、全て文字列です。 発想が貧困なもので、何から手を付けて良いかわかりません。お手数ですが、ご教示ください。 A B C 1 x a 2 x b 3 y c 4 y d 5 z e 6 z f ・ ・ ・ 199 200 ・ ↓ A B C 1 x a b 2 y c d 3 z e f ・ ・ ・ 99 100 ・
- nonboo
- お礼率95% (95/99)
- オフィス系ソフト
- 回答数3
- ありがとう数4
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
行の削除まで行おうというのであればVBAは必須です。でもVBAが全く分からないのであればサンプルを提示しても無意味でしょう。 もしSheet1に縦方向で並んでいるデータを、別シートに横方向に並べ替えるだけでよければ関数で可能です。その方法は以下の通りです 1)A列全体を選択→「データ」→「フィルタオプションの設定」→ 重複するデータは無視するにチェックしてOK これによりA列のキーは重複のない状態で表示されますから、これをコピーして別シートのA1からAnに貼り付ける 2)A列全体を選択→「データ」→「フィルタオプションの設定」→ 重複するデータは無視するのチェックを外す 3)別シートのB1に以下の関数を貼り付ける =IF(ISERROR(SMALL(IF(Sheet1!$A$1:$A$500=$A1,ROW(Sheet1!$A$1:$A$500),""),COLUMN()-1)),"",INDEX(Sheet1!$A$1:$B$500,SMALL(IF(Sheet1!$A$1:$A$500=$A1,ROW(Sheet1!$A$1:$A$500),""),COLUMN()-1),2)) そして Shift+Ctrl+Enter で入力する(重要!) 4)B1をコピーして必要な分だけ他のセル(例えばC1~Z1やB2~Z100)に貼り付ける 以上の操作で横方向に並べ替えされた表が出来ます。出来上がった表をコピーし、「編集」→「形式を選択して貼り付け」→値 で貼り付ければ元のSheet1のデータは消すなりご自由に。
その他の回答 (2)
- inuinu_koro
- ベストアンサー率30% (19/63)
考えられる方法は、 1.エクセルVBAを使う。 2.「キーの数(最大数)がいくつか特定できる」という条件付きでIF文【例:=IF(A3=A2,B3)】を列に書いていく。 の2通りがあると思います。
お礼
ご回答ありがとうございます。やはりVBAで処理するのが適しているのですね。どのようなコードになるのか、 検索キーワードすら発想できないものですから、お手数ですが、教えていただけないでしょうか?
- masao3
- ベストアンサー率23% (74/311)
表計算ですので順番に整理するしかありません。 (1)B2をコピーしC1に貼付け (2)2列を全削除 (3)3列が2列に変更 (4)B3(B4)をコピーしC2(C3)に貼付け (5)3列(4列)を全削除 ※()内は最初の配列 以上を繰返すしか無いと思いますが?
お礼
さっそくのご回答ありがとうございます。VBAで、変数~ループ処理というような感じになるのでしょうか? どのようなコードになるのでしょうか?
補足
例えば、同一キーであることの確認はどのようなコードになりますでしょうか? 行数(キー数)が不特定の中から、同一キーであることを確認した上、下段のデータを上段のデータセルの 右隣のセルにコピーして、下段データを行ごと削除する、、、思いつきません。 元データの内容が頻繁に変わるものですから、何とか自動化したいのです。 よろしくお願いします。
関連するQ&A
- Excelで縦1行のデータを、横6行折り返しで表示させるには・・・
Excelの計算式について質問です。 A列 1行目 あ 2行目 い 3行目 う 4行目 え 5行目 お 6行目 か 7行目 き 8行目 く 9行目 け 10行目 こ 11行目 さ 12行目 し (以下続く) とA列の縦一列に並んでいるデータを 横6列(F列で折り返し)で並べていく計算式を探しています。↓ A列 B列 C列 D列 E列 F列 1行目あ い う え お か 2行目き く け こ さ し 3行目す せ そ た ち つ 4行目て と な に ぬ ね 何かいい計算式はないでしょうか。助けてください。
- ベストアンサー
- オフィス系ソフト
- エクセル 行と列入れ替え
エクセルで隣り合う二つのセルを一単位として 行と列を入れ替えるにはどうすればいいでしょうか。 例えば、 A B C D E F 1 U V W X Y Z を A B 1 U V 2 W X 3 Y Z のように一括に処理する方法があれば教えて下さい。
- ベストアンサー
- オフィス系ソフト
- いつもお世話になります。
いつもお世話になります。 Excelで以下のような表があります。 A B C D E F G ------------------------------------------------ X 12345 -0.3 -0.2 -1.0 -0.5 -0.7 Y 32000 -0.1 -0.2 -0.4 -0.8 -0.3 ※上記データは実際にはもっと多くの件数があります。 これを X 12345 -0.3 X 12345 -0.2 X 12345 -1.0 X 12345 -0.5 X 12345 -0.7 Y 32000 -0.1 Y 32000 -0.2 Y 32000 -0.4 Y 32000 -0.8 Y 32000 -0.3 という表(横並びを縦並び)に変換したいのですが、Excelで可能でしょうか? A列とB列は変換後も行見出しとして利用したいです。
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセルのデータを1行ずつ別々にしたい。
次のような1列のデータを2列に変更したいのです。 エクセルの初心者なものでいろいろ工夫してみましたがうまくいきません。良い方法を教えてください。データは1000行くらいあります。 元のデータ 1 あ 2 a 3 い 4 b 5 う 6 c ほしいデータ 1 あ a 2 い b 3 う c 4 え d 5 お e 6 か f どうぞ、よろしくお願いします。
- ベストアンサー
- その他(Windows)
- エクセル データ分析 個数積立グラフ
2つのデータから、目標のグラフを作りたいと考えています。 データ1(A列)が、A、B、C、D、E、F、G、、、、、の複数種類の文字列 データ2(B列)が、3種類のデータ(X、Y、Z)の数値がそれぞれ、バラバラに入っています。 そこで、 Aのとき、Xが何個、Yが何個、Zが何個。 Bのとき、Xが何個、Yが何個、Zが何個。 Cのとき、Xが何個、Yが何個、Zが何個。 ・・・・ といったグラフを作成したいと考えています。 具体的には、横軸にデータ1、縦軸に、データ2(色分けして積み立てたもの)が来るようなグラフを作るのが目標です。 この場合の作成手順を、アドバイス頂ければ助かります。 宜しくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- エクセルにおけるデータ入替えについて
こんにちは,毎回お世話になっております. エクセルについての質問です.以下のようにデータを並べ替えたいのですが,どうすればよろしいでしょうか.ご教授宜しくお願いいたします.(ずれててわかりにくいと思いますが,大文字のアルファベットはエクセルの行や列の場所,x1,x2,x3・・・,y1,y2,y3・・・は数字と思ってください.) A B A x1 x2 B y1 y2 C x3 x4 D y3 y4 E x5 x6 F y5 y6 ↓ A B A x1 y1 B x2 y2 C x3 y3 D x4 y4 E x5 y5 F x6 y6
- ベストアンサー
- オフィス系ソフト
- EXCELで列のデータを行に移行したい
よろしくお願いします EXCEL2000を使用しています 現状ですが A・B・C・Dの条件に合うデータが最大20個(F~Y)入力してあります 必ず1つのデータが条件に当てはまるのでFに空欄はないです A・B・C・Dの条件は200行あります 希望の状態は F~YのデータをAに書き出し (最小1個×200行=200行 最大20個×200行=4000行) それぞれの値の条件A~Dのデータが そのデータのB~E入るようにしたいです VBを利用すれば早いと言うことはわかるのですが 作れないので質問させていただきました よろしくお願いします
- ベストアンサー
- オフィス系ソフト
- Excelで、行の組み換えについて
A列からG列までデータが入っているリストがあるのですが、 例えば、1行目から50行目までと、51行目から100行目までを交互に組み入れるには どのようにすればよいでしょうか。 A B C D E F G 1 2 3 ・ ・ ・ 51 52 53 ・ ・ ・ といったものを、 A B C D E F G 1 51 2 52 3 53 ・ ・ ・ のようにしたいのですが、一気に操作できる方法があれば 教えていただきたく、よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- Excelで、同一データ行を知るには
Excel2000で、 A列からD列までまったく同じデータの場合、色をつけてくれる方法を教えてください。 例えば、 A20=A100 かつ B20=B100 かつ C20=C100 かつ D20=D100 の場合、同じデータとして、20行目と100行目に色をつけるようにしたいです。 次善の策として、 A列からD列だけでなく、E列以降もすべてまったく同じデータの場合でもいいです。 なお、ソートしたり、行の順番を変えるのはナシにしてください。 また、A列からD列のデータをくっつけるのも、できれば避けたいです。(それぞれの列を比較して異なる場合でも、くっつけたら同じになる場合もありうるので。)
- ベストアンサー
- オフィス系ソフト
- Excel 2007 1列のデータを1行にしたい
いつもお世話になっています. 早速質問なんですが A B C D E F G 1 あ 2 い 3 う 4 え 5 お 6 か のような あ~か を A B C D E F G 1 あ い う え お か 2 3 4 5 6 みたいにしたいのですがやり方が分かりません. 2*2以上のデータを入れ替える方法はWeb上にあるのですが,1列のみを1行に変換する方法が載ってません.誰か教えてください.宜しくお願い致します.
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます。確認用に使用してみます。 #2のご回答のような方法に、区分用の列を設け、並べ替えてから削除。 区分用の列を流用し、行数を変数として、これらをVBAで処理してみます。