重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセル2003にて下記の様な表を作っています。

シート1
 A     B   C   D    E   F
1名前 HP  攻撃  速さ  地形  地形補正
2ザク  1000  1500  2000  宇宙   500
3グフ  1500  2000  1000  地上   1000
4ドム  2000  1000  1500  水中   -500

シート2
 A    B   C    D   E   F   G
1名前  HP  攻撃  速さ 宇宙  地上  水中
2ザク  1000 1500  2000  500  500  0
3グフ  1500  2000  1000  0   1000  0
4ドム  2000 1000  1500  1000  500  -500
5ジム  1500 1500  1500  500   0   500
6ヅダ  1000 1000  1500  1000  0   0

シート1のAにはシート2のA2~6にある名前をプルダウン形式で選べる様にしてあります。
シート1のAの名前を選択するとB・C・Dの数値がシート2から反映出来る様にvlookupで
作成しています。

問題はEとFで、Eにはシート2のE1・F1・G1から宇宙・地上・水中をプルダウンで選べる様に
しており、これらを選択した際Fにシート2のE2:E6の数値が反映される様に作成したいのですが、
作り方がわかりません。

出来ればVLOOKUP等の関数式?を用いた作り方希望です。
宜しくお願い致します。

A 回答 (3件)

Sheet1のF2セルに↓を入れて下方向にコピーしてください。


=IF(COUNTIF(Sheet2!$1:$1,E2)=0,"",VLOOKUP(A2,Sheet2!A:G,MATCH(E2,Sheet2!$1:$1,0),FALSE))
    • good
    • 0

関数?って感じですが、



まず、シート2のA2:G6を選択し、編集→名前→作成→名前の作成

→左端列にチェック(既についていると思います)→OK

同様にE1:G6を選択し、上端行で名前をつけます。

次にシート1のF2に

=INDIRECT(A2) INDIRECT(E2)

と入力します。

これで如何でしょうか?
    • good
    • 0

MATCH関数とINDEX関数で実現できないでしょうか。


シートが別になってわかりにくいので、個別に書きます。


【1】MATCH関数で名前の行、地形の列を求めます。
※最後の0は完全一致を表します。

 ・行を求める
  =MATCH(検索したい名前, 検索する範囲(絶対参照), 0)

 ・列を求める
  =MATCH(検索したい地形, 検索する範囲(絶対参照), 0)


【2】INDEX関数で地形補正を求めます。

 ・地形補正のセルを求める
  =INDEX(表の範囲(絶対参照), 上で求めた行+1, 上で求めた列+1)


【2】の行と列の部分を【1】の関数に置き換えてもらえれば、1セルで完結できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!