EXCELで複数列*複数行から検索する方法

画像

Excel56閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

0
画像

ThanksImg質問者からのお礼コメント

皆さん回答ありがとうございました! set********様のものを採用させていただきました。 月下推敲様の回答もシンプルで素晴らしかったのですが、SEQUENCE関数が当環境で動きませんでした。

お礼日時:8/3 11:06

その他の回答(2件)

0

データが多くなってもパソコンに負担の少ない方法は作業列を作って対応することです。 お示しの通りの表がB列とF列の3行目から12行目まであるとします。 そこでK3セルには次の式を入力してL3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(INDEX($B$3:$F$12,MOD(ROW(A1)*2-1,10)+COLUMN(A1)-1,ROUNDUP(ROW(A1)/5,0))&"","") M3セルには次の式を入力します。 =IF(H$3="","",IF(K3<>H$3,"",COUNTIF(K$3:K3,K3))) N3セルには次の式を入力します。 =IF(M3="","",IFERROR(INDEX(N$2:N2,MATCH(M3-1,M$2:M2,0))&","&L3,L3)) M3セルとN3セルを選択してから含まれるそれらの式を下方にドラッグコピーします。 お求めのI3セルには次の式を入力すればよいでしょう。 =IF(H3="","",INDEX(N:N,MATCH(MAX(M:M),M:M,0))) なお、作業列が目障りでしたらそれらの列を選択して「非表示」にすればよいでしょう。

1

武田の場合、Cも入りますよね? =TRIM(MID(TEXTJOIN(REPT(" ",100),TRUE,IF(B2:F10=H3,B3:F11,"")),SEQUENCE(COUNTIF(B2:F11,H3),,1,100),100))

画像

1人がナイス!しています

なお、mit********さんの御回答のようにI3セルひとつにカンマ区切りで返せばいいのなら、こんな複雑な事をする必要はなく、 =TEXTJOIN(",",TRUE,IF(B2:F10=H3,B3:F11,"")) だけでいいです。 これならExcel2019でも配列数式として入力(SHIFT+CTRL+ENTERで確定する)すれば使えるのではないかと思います。 Excel2016以前だと、TEXTJOIN関数が使えませんので、ユーザー定義関数を使うなどしてください。