- ベストアンサー
【Excel】 値で分ける式
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
おはようございます。 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像の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
お礼
ご回答頂きありがとうございます。 私の知識不足で、上手く扱うことができませんでした。 今回は、回答2の方法を利用してみたいと思います。 お時間を割いて回答頂き有難うございました。
- turuzou
- ベストアンサー率33% (15/45)
例えば補助列を使用して、分類の文字をカウントして、重複のない文字列を作成させ、作成された文字列で検索してみては如何でしょう? 補助列として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)),"") を、オートフィルで必要分下へ
お礼
ご回答頂きありがとうございます。 私の知識不足で、上手く扱うことができませんでした。 今回は、回答2の方法を利用してみたいと思います。 お時間を割いて回答頂き有難うございました。
お礼
回答頂きありがとうございます。 シンプルな式に収まり、大変上手くいきました。 ありがとうざいました。