- ベストアンサー
Excel 表と参照して一致したら行の最左を表示
エクセルについて教えてください。 A 01 02 03 04 05 B 06 07 08 09 10 C 11 12 13 14 15 のような表と、セルの値を照合して、元の値が 03ならA 10ならB 11ならC と表示させたいのです。 縦2列の表に作り変えればVLOOKUP関数でできるとおもいますが、このままの形でやりたいのです。方法をご存知でしたら教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
検索する数値に重複がない場合は以下の式で可能です。 この式ではH1セルに検索値があることにしています。また検索値に合致するセルがない、もしくは2つ以上ある時は空白を表示しています。 =IF(COUNTIF(B1:F3,$H$1)=1,INDEX(A:A,SUMPRODUCT((B1:F3=$H$1)*ROW(B1:F3))),"")
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
A8に1-15の値があるとして =INDEX($A$1:$A$3,SUM(IF(B1:F3=$A$8,ROW(B1:F3),0))) と入れてSHIFT,CTRL,ENTERを3つ同時押しする。配列数式 結果 A8 が 3の場合 A あり場所は 行は =SUM(IF(B1:F3=$A$8,ROW(B1:F3),0)) SHIFT,CTRL,ENTERを3つ同時押しする。配列数式 列は =SUM(IF(B1:F3=$A$8,COLUMN(B1:F3),0)) SHIFT,CTRL,ENTERを3つ同時押しする。配列数式 ーー SUMの部分はSUMPRODUCTでもできる。 =INDEX($A$1:$A$3,SUMPRODUCT((B1:F3=$A$8)*ROW(B1:F3)))
お礼
ありがとうございます。教えていただいた方法でできました。 SHIFT,CTRL,ENTERを3つ同時押しで{}をつける技は初めて知りました。
- zap35
- ベストアンサー率44% (1383/3079)
#01です。重複があってもできるようにしました 重複する「最小の行」の値を表示する式 =IF(COUNTIF(B1:F3,H1)>0,INDEX(A:A,LARGE(INDEX((B1:F3=H1)*ROW(B1:F3),),COUNTIF(B1:F3,H1))),"") 重複する「最大の行」の値を表示する式 =IF(COUNTIF(B1:F3,H1)>0,INDEX(A:A,MAX(INDEX((B1:F3=H1)*ROW(B1:F3),))),"")
お礼
再度の回答ありがとうございます。今回は必要なかったですが、勉強になります。
お礼
重複はないのでこのやり方でバッチリできました。どうもありがとうございます。