• ベストアンサー

excel2003 2列のデータを1列に

エクセル2003にて 下記のように2列のデータを1列に表示させたいと思っております。 A列  B列              C列 田中 佐藤              田中 鈴木 池田 このように>      鈴木 後藤 内藤              後藤                     佐藤                     池田                     内藤 C列に入れる数式をお教えください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

データは連続で入っているとして =IF(A1<>"",A1,INDEX(B:B,ROW()-COUNTA(A:A)))&"" 下へオートフィル

moumoufish
質問者

お礼

ご回答ありがとうございました。 このたびはCoalTarさまの書式を使わせていただきました。 おかげさまでうまく動きました。 またお知恵をお借りすることがあるかも知れませんがそのときは よろしくお願いいたします。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

C1に=IF(ROW()>COUNTA(A:A),INDEX(B:B,ROW()-COUNTA(A:A)),A1) と入れて式を下方向に複写する。 これに=IF(ROW()>COUNTA(A:A)+COUNTA(B:B),"",上の式)を加えると完全かと思う。

moumoufish
質問者

お礼

ご回答ありがとうございました。 おかげさまでうまく動きました。 またお知恵をお借りすることがあるかも知れませんがそのときは よろしくお願いいたします。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

C列に =OFFSET(A$1,INT(ROW()/2),MOD(ROW(),2)) と入れて下へコピィしてみてください。 或いは =IF(A2="",OFFSET(B$1,ROW()-COUNTA(A:A),),A2) こちらの式だったかもしれません。

moumoufish
質問者

お礼

早速のごかいとうありがとうございます。 皆さんのご回答のなかから使わせていただきます。 ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像のように作業用の表を使っていますので 参考にならなかったら無視してください。 元データが2列だということですので E2セルに =IF(A2="","",COLUMN(A1)*1000+ROW(A1)) という数式を入れ、F2セルまでコピーしそのまま下へコピーします。 G2セルに =IF(COUNT($E$2:$F$1000)<ROW(A1),"",SMALL($E$2:$F$1000,ROW(A1))) という数式を入れ、これも下へコピーします。 C列にはこのG列の数値を参照して表示させるようにします。 C2セルを =IF(G2="","",INDEX($A$2:$B$1000,MOD(G2,1000),INT(G2/1000))) として、下へコピーすると画像のような感じになります。 (とりあえず1000行まで対応できる数式にしています) そして、作業用の表が目障りであれば、かなり離れたところに作成するか、 非表示にしてみてはどうでしょうか? かなり無理矢理って感じの方法ですが、 参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

moumoufish
質問者

お礼

前回もお世話になりました。 ありがとうございます!! 早速のごかいとうありがとうございます。 皆さんのご回答のなかから使わせていただきます。 ありがとうございました。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

いろいろできるだろうが。 =IF(A1<>"",A1,INDIRECT("b"&ROW()-3))

moumoufish
質問者

お礼

早速のごかいとうありがとうございます。 皆さんのご回答のなかから使わせていただきます。 ありがとうございました。