> コレは何 MATCH関数とOFFSET関数の組み合わせで、 同じ検索語のデータをすべて抽出するサンプルデータです。 > 使い方 サンプルデータ 1行目の「品名」が、 A1セルにくるように貼り付けてください。 F2セルの単語を、A列の中から検索します。 サンプルでは、F2セルに果物の名前を入れると、 店名と価格をすべて取り出します。 リストにない場合は空欄。(エラー表示にはならない) > 注意点 サンプルは、リスト数の増加に対応していません。 (理由は後述) リスト数の増加に対応するためには、 数式の修正(1ヶ所)が必要です。 > データ数を増やす場合の変更点 F3セルのCOUNTAの範囲を変更する必要があります。 (Excel以外で列全体の指定が難しいため、 サンプルでは範囲を限定しています) サンプルの抽出数は、3つまでになっています。 該当数が3を超える場合は、E8からH8をコピペしてください。 (たぶんコピペでもドラッグでも可) > 使用ソフト別の注意点 calc (OpenOffice) 元データはOpenOfficeCalcで作成しています。 最もエラーになる可能性が低いです。 エクセル 未検証のため、正しく表示できないかもしれません。 googleスプレッドシート 新しいスプレッドシートのみ可。 旧版は、数式の参照が壊れました。 エクセル向け、calc向けのどちらのサンプルでも動作します。 >エクセル向けサンプル (次の行から) 品名 価格 店名 検索結果 すいか 300円 A店 検索語 りんご なし 150円 C店 リスト行数 =COUNTA($A$1:$A$11) バナナ 120円 A店 該当数 =COUNTIF(OFFSET($A$1,0,0,F3,1),F2) みかん 100円 A店 No. 価格 店名 =IF($F$4=0,"-",0) りんご 100円 B店 =IF(ROW($D1)>$F$4,"-",ROW($D1)) =IF($E6="-","",OFFSET(B$1,$H6-1,0)) =IF($E6="-","",OFFSET(C$1,$H6-1,0)) =IF($E6="-","-",MATCH($F$2,OFFSET($A$1,H5,0,$F$3-H5,1),0)+H5) みかん 150円 B店 =IF(ROW($D2)>$F$4,"-",ROW($D2)) =IF($E7="-","",OFFSET(B$1,$H7-1,0)) =IF($E7="-","",OFFSET(C$1,$H7-1,0)) =IF($E7="-","-",MATCH($F$2,OFFSET($A$1,H6,0,$F$3-H6,1),0)+H6) バナナ 140円 C店 =IF(ROW($D3)>$F$4,"-",ROW($D3)) =IF($E8="-","",OFFSET(B$1,$H8-1,0)) =IF($E8="-","",OFFSET(C$1,$H8-1,0)) =IF($E8="-","-",MATCH($F$2,OFFSET($A$1,H7,0,$F$3-H7,1),0)+H7) なし 170円 B店 バナナ 110円 B店 りんご 130円 C店 >calc向けサンプル (次の行から) 品名 価格 店名 検索結果 すいか 300円 A店 検索語 りんご なし 150円 C店 リスト行数 =COUNTA($A$1:$A$11) バナナ 120円 A店 該当数 =COUNTIF(OFFSET($A$1;0;0;F3;1);F2) みかん 100円 A店 No. 価格 店名 =IF($F$4=0;"-";0) りんご 100円 B店 =IF(ROW($D1)>$F$4;"-";ROW($D1)) =IF($E6="-";"";OFFSET(B$1;$H6-1;0)) =IF($E6="-";"";OFFSET(C$1;$H6-1;0)) =IF($E6="-";"-";MATCH($F$2;OFFSET($A$1;H5;0;$F$3-H5;1);0)+H5) みかん 150円 B店 =IF(ROW($D2)>$F$4;"-";ROW($D2)) =IF($E7="-";"";OFFSET(B$1;$H7-1;0)) =IF($E7="-";"";OFFSET(C$1;$H7-1;0)) =IF($E7="-";"-";MATCH($F$2;OFFSET($A$1;H6;0;$F$3-H6;1);0)+H6) バナナ 140円 C店 =IF(ROW($D3)>$F$4;"-";ROW($D3)) =IF($E8="-";"";OFFSET(B$1;$H8-1;0)) =IF($E8="-";"";OFFSET(C$1;$H8-1;0)) =IF($E8="-";"-";MATCH($F$2;OFFSET($A$1;H7;0;$F$3-H7;1);0)+H7) なし 170円 B店 バナナ 110円 B店 りんご 130円 C店 著作権(というか文責というのが正しいか) このテキストは、「アニメ調査室(仮)」が作成しました。 複製等の制限はありません。 解説記事 : http://anime-research.seesaa.net/article/299266624.html