- ベストアンサー
計算するにはどうしたらよいですか?
昨日下記のような質問をさせていただきました。 (Sheet1表1) A列 B列 C列・・・ 空欄 ポスター ハガキ ・・・ 写真 \20 \10 イラスト \15 \2 (Sheet2表2) A列 B列 C列 D列 E列 使用者 コード 用途 用途料金 印刷枚数 ウシ 11111 ポスター 空欄 1,500 カメ 22222 ハガキ 空欄 1,800 ハト 33333 買取 空欄 3,400 (Sheet3表3) A列 B列 コード カテゴリ 11111 イラスト 12345 イラスト 22222 写真 23456 イラスト 上記の表があり、Sheet2表2のD列の用途料金を求めたいです。 表1からもってくればいいのは分かります。 ただその表1の参照の仕方が分かりません。 カテゴリ(写真等)はVLOOKUPを使って表3を見に行けばいいのでしょうが、そこから用途(ポスター等)を探して金額を表示させるにはどうしたらいいですか?COLUMN関数なら列番号を返すのでいいかなと思ったのですが、引数に関数は使えるのでしょうか? 他にいい方法があるようでしたら教えて下さい。 よろしくお願いします! その際に Sheet2!表2D2=HLOOKUP(D3,Sheet2!$A$2:$H$4,MATCH(VLOOKUP(Sheet3!B3,Sheet1!$A$3:$D$402,2,FALSE),Sheet2!A$2:A$4,0) という式を教えていただき解決したのですが、実は表2D2欄は用途単価を導くのではなく、 IF(C3="買取",0,HLOOKUP(D3,Sheet2!$A$2:$H$4,MATCH(VLOOKUP(Sheet3!B3,Sheet1!$A$3:$D$402,2,FALSE),Sheet2!A$2:A$4,0)),FALSE) と先頭にIF関数がつき、表2E列に追加した「印刷枚数」という項目があり、最終的には「用途単価」*「印刷枚数」の料金を出すのです。で、教わった式に「*E2」を追加してもエラーになってしまいます。 最初からそのように質問しろって感じですよね。計算なら単純に計算式を加えればできると思ってたので・・・ たびたびで本当に申し訳ないですが、どのようにすればいいか、教えて下さい。よろしくお願いします!
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは >IF(C3="買取",0,HLOOKUP(D3,Sheet2!$A$2:$H$4,MATCH(VLOOKUP(Sheet3!B3,Sheet1!$A$3:$D$402,2,FALSE),Sheet2!A$2:A$4,0)),FALSE) 上記式は、括弧の数が合わないか引数の数が合わないかで、おかしいです。 *E2を追加するとエラーになるのはどこに追加したのでしょう? 求めた単価の式の後に続ければ問題ないと思いますので。
その他の回答 (1)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
作業用の列でもかまわないので列を追加したほうが見通しがよくなります。 数式と説明があっていないように見えるので、説明のほうでの回答です Sheet2でC列を追加し、「カテゴリ」としました C2セルは =VLOOKUP(B2,Sheet3!A:B,2,FALSE) E2セルは「単価」としました =INDEX(Sheet1!$B$2:$D$402, MATCH(C2,Sheet1!$A$2:$A$402,0), MATCH(D2,Sheet1!$B$1:$D$1,0)) IF関数は使えるようなので、エラー処理などを適宜追加してください。 添付図参照
お礼
すみません・・・ 私の確認ミスでした。 よくよく確認したら、*E2を挿入する場所が違ってました。 画像つきで丁寧な回答をくださってありがとうございました。
お礼
ご指摘ありがとうございました!感謝です。 よくよく確認すると*E2を挿入した場所が間違ってました。 何回も確認したはずなんですけど、焦ってパニくってたみたいです。 これからは冷静に考えるようがんばります。 本当にありがとうございました!