• ベストアンサー

条件によって参照先を変えて答えを出したい

こんなことは出来るでしょうか。 動物によって参照先リストをかえて、 条件にあった答えをピンク色のセルへ導き出したいです。 たとえば「ぞう」は5頭いるので、4~8頭の範囲にある B という答えを出したいです。 可能でしょうか? 参照先リストはこの形式にこだわっていませんので 改造すれば出来る・・・ということであれば変更しようと思います。 どうぞよろしくお願致します。

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

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

こんばんは! すでに何通りかの回答が出ていますし、 重複するかもしれませんので、参考程度で目を通してみてください。 ↓の画像で説明させていただきます。 勝手に表の配置を少し変更させてもらっています。 右側の表で F2~I2を範囲指定 → 挿入 → 名前 → 定義 で「ぞう」としてOK 同様に「キリン」「アシカ」の名前定義をしています。 (範囲指定後名前ボックスに直接入力しても構いません) 今度動物が増えても同様に名前定義すれば対応できます。 そしてC2セルに =IF(COUNTBLANK(A2:B2)>0,"",INDEX($F$1:$I$1,,MATCH(B2,INDIRECT(A2,0),1))) という数式を入れオートフィルで下へコピーすると 画像のような感じになります。 以上、参考になれば幸いです。m(__)m

mako720924
質問者

お礼

画像まで貼っていただき ありがとうございます。 とても参考になります。 勉強しながらじっくり理解していきます。 皆様、大変助かりました。 本当にありがとうございます。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

C2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",INDEX(E:H,MATCH(B2,INDIRECT("G"&MATCH(A2,E:E,0)&":G"&MATCH(A2,E:E,0)+2,TRUE))+MATCH(A2,E:E,0)-1,2))

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

現状の表のままで補助列等を使わずするなら、 ランクは常にA、B、Cの3ランクとします。 C2に以下の数式を入れ、C4までコピー。 =INDEX($F$2:$F$7,MATCH(A2,$E$2:$E$7,0)+MATCH(B2,OFFSET($G$2,MATCH(A2,$E$2:$E$7,0)-1,0,3,1),1)-1)

mako720924
質問者

お礼

ありがとうございます。 じっくり解読して理解していきたいと思います。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

少し参照先リストを見やすく変えて 2セルに下記数式を入れて、下方向に必要な分だけコピーです。 =VLOOKUP(B2,OFFSET($D$1,1,MATCH(A2,$E$1:$G$1,0),4,5-MATCH(A2,$E$1:$G$1,0)):$H$5,5-MATCH(A2,$E$1:$G$1,0))

mako720924
質問者

お礼

ありがとうございます。 画像までつけていただき感謝です。 私の今のレベルでは式を読みこなすことができずにおりますが、 今からじっくり勉強させていただきます。 本当にありがとうございました。

  • FEX2053
  • ベストアンサー率37% (7995/21381)
回答No.1

範囲に名前を付けるとINDIRECTで呼び出しが可能です。 また、VLOOKUP関数は「検索値未満の最大値」が呼び出せます。 ということで、 4 A 9 B 21 C を選んで右クリック、範囲に名前を付けるを選択して「ぞう」 11 A 25 B 61 C を選んで右クリック、範囲に名前を付けるを選択して「キリン」 21 A 31 B 61 C を選んで右クリック、範囲に名前を付けるを選択して「アシカ」 として、C2セルに =VLOOKUP(B2,INDIRECT(A2),2,TRUE) とすれば出てくるんじゃないかと。キモは「区分名と同じ範囲名を作り その範囲に検索する値を入れる」という点です。

mako720924
質問者

補足

関数について勉強不足でして、 取り急ぎシンプルなので 教えていただいた内容でやってみたのですが 出来ません・・・。 参照先の別表を 以下のとおり作って、 E1:F3をドラッグして「ぞう」 と言う具合に名前をつけてみたのですが  |E F  --|-------- 1 |4 A 2 |8 B 3 |21 C C1→A C2→B C4→#N/A という回答になってしまいます。

関連するQ&A