- ベストアンサー
表引きのような関数を教えてください
お知恵を貸してください。 それぞれのシートにAブロックからDブロックのコードと数値を登録しておいて シート1にそれぞれの列にそのコードを打ち込んだら合計の数値が計算され出てくるように したいのですがよくわかりません。教えてください。 シート1 A列 B列 C列 D列 合計 AAA B1 A1 1 200 Aブロック AAA 100 ABA 110 Bブロック B1 50 C3 20 Cブロック ** 10 A1 20 Dブロック 1 30 4 10
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 質問者さんがあげられた例題が下記のように入力されているとします。 (一番左の数字は行番号) A列 B列 C列 D列 1 AAA B1 A1 1 2 3 Aブロック 4 AAA 100 5 ABA 110 6 7 Bブロック 8 B1 50 9 C3 20 10 11 Cブロック 12 ** 10 13 A1 20 14 15 Dブロック 16 1 30 17 4 10 ここでE1のセルに =VLOOKUP($A$1,$A$4:$B$5,2)+VLOOKUP($B$1,$A$8:$B$9,2)+VLOOKUP($C$1,$A$12:$B$13,2)+VLOOKUP($D$1,$A$16:$B$17,2) と入力してみてください。求める結果になるはずです。 詳しい解説はNo.2さんがされているとおりです。 補足が入っていますが、どのような状況で困っているのか自分もわかりません。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
#2です。結果的に#1のご回答と同じパターンになりました(回答がつくまでに数分かかることがあり、#1のご回答を認識できませんでした)(ただ表範囲に$をつけておられないのを懸念しますが)が、逆に言うと、それが常識的な回答ではないかと思うのです。 質問者は、実際に表を作ってやってみていただいたのでしょうか。 補足の意味が良くつかめません。 >このそれぞれの数値を合計したいのですが +を入れて4数値を合計していますが。 >数値が100と10という検索から選びだしたものを110と一つの計算式(関数の中で)表示し計算結果を出したいのですが可能でしょうか 回答も1つの計算式ですが。どういう不都合が起こったか説明してください。
- imogasi
- ベストアンサー率27% (4737/17069)
コード列と数値列を同じ行で対応させて表を作ります。 あとは F1に=LOOKUP(A1,表範囲,2,FALSE)+LOOKUP(B1,表範囲,2,FALSE) +LOOKUP(C1,表範囲,2,FALSE)+LOOKUP(D1,表範囲,2,FALSE) と入れて式を下方向に複写する。 「表範囲」は範囲に「名前」を定義するか、$A$1:$B$100のように$を つけること。表が別シートにあるならSheet2!$A$1:$B$100のようにする。 入力されていないセルを対象にエラーが表示されないようにするには =IF(A1="",0,LOOKUP(A1,表範囲,2,FALSE))+・・・(略) のようにすれば良いでしょう。
- bys07405
- ベストアンサー率38% (37/97)
VLOOKUP関数でできます。 関数例 =VLOOKUP(A1,A4:B5,2)+VLOOKUP(B1,A8:B9,2)+VLOOKUP(C1,A12:B13,2)+VLOOKUP(D1,A16:B17,2) 最初のVLOOPUPがAブロック用で A1 が検索値 A4:B5 がAブロックの範囲 2 が範囲内での列番号 となってます。これを参考に作成してみてください。
補足
ありがとうございます。このそれぞれの数値を合計したいのですが数値が100と10という検索から選びだしたものを110と一つの計算式(関数の中で)表示し計算結果を出したいのですが可能でしょうか