• ベストアンサー

【Excel】 値で分ける式

こんにちは 添付データのように、 C列の値が1ならE列にB列の値を、2ならF列にB列の値を・・・ 並べる表を作りたいと思います。 EFG列の式を教えて下さい。 Excel2007です。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.2

E3=IF(ROW(A1)>COUNTIF($C$3:$C$15,RIGHT(E$2)),"",SMALL(INDEX(($C$3:$C$15<>RIGHT(E$2)*1)*10^5+$B$3:$B$15,),ROW(A1))) ★右と下にコピー

hee1
質問者

お礼

回答頂きありがとうございます。 シンプルな式に収まり、大変上手くいきました。 ありがとうざいました。

その他の回答 (2)

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

おはようございます。 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像のE3セルに =IF(COUNTIF($C$3:$C$1000,COLUMN(A1))<ROW(A1),"",INDEX($B$3:$B$1000,SMALL(IF($C$3:$C$1000=COLUMN(A1),ROW($A$1:$A$998)),ROW(A1)))) という数式が入っています。 尚、配列数式になってしまいますので この画面からコピー&ペーストしただけではエラーになると思います。 E3セルに貼り付け後、F2キーを押すか、数式バー内で一度クリックします。 編集可能になりますので、Shift+Ctrl+Enterキーで確定すると 数式の前後に{ }マークが入り配列数式になります。 これを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 今回の質問の場合は列方向の分類が単純に1・2・3ということですので COLUMNを使っていますが、条件が変わると少し数式も変わってくると思います。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

hee1
質問者

お礼

ご回答頂きありがとうございます。 私の知識不足で、上手く扱うことができませんでした。 今回は、回答2の方法を利用してみたいと思います。 お時間を割いて回答頂き有難うございました。

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.1

例えば補助列を使用して、分類の文字をカウントして、重複のない文字列を作成させ、作成された文字列で検索してみては如何でしょう? 補助列としてD列を使用するとして D3へ =IF(B3="","",C3&"_"&COUNTIF(C$3:C3,C3)) を、オートフィルで必要分下へ (分類:1)F3へ =IF(COUNTIF(D$3:D$20,"1_"&ROW(A1)),INDEX(B$3:B$20,MATCH("1_"&ROW(A1),D$3:D$20,0)),"") を、オートフィルで必要分下へ (分類:2)G3へ =IF(COUNTIF(D$3:D$20,"2_"&ROW(A1)),INDEX(B$3:B$20,MATCH("2_"&ROW(A1),D$3:D$20,0)),"") を、オートフィルで必要分下へ (分類:3)H3へ =IF(COUNTIF(D$3:D$20,"3_"&ROW(A1)),INDEX(B$3:B$20,MATCH("3_"&ROW(A1),D$3:D$20,0)),"") を、オートフィルで必要分下へ

hee1
質問者

お礼

ご回答頂きありがとうございます。 私の知識不足で、上手く扱うことができませんでした。 今回は、回答2の方法を利用してみたいと思います。 お時間を割いて回答頂き有難うございました。

関連するQ&A