アプリ版:「スタンプのみでお礼する」機能のリリースについて

プルダウンの内容によって金額を変えたいのですが、複雑ですので教えて下さい。
※スプレッドシートでの運用です。

シートは単価シートとフィルターシートで運用です。
A列に単語(固定)を入れます。
東京は1000万
神奈川は500万
大阪は100万
無人島は1万
これらは固定単語になるのでフィルターシートで対応します。

B列に任意の単語(国名)が入ります。
ただし、フィルターシートに指定した単語の場合は全て1000万にしたいです。
※一旦はアメリカ、イギリス、ロシア、中国の単語を1000万とします。
※それ以外の国名が入った場合は一律でA列優先とします。

無人島が入った場合はどんな国でも1万になります。

C列に単価を自動表示したいです。
※関数式によってはifを使う場合、列が2つ必要ならD列に自動表示でもいい(非表示対応も可能なため)

【いくつかの入力パターンの場合のC列の自動表記】
パターン1 A列:東京 B列:アメリカ C列:1000万
パターン2 A列:東京 B列:韓国 C列:1000万
パターン3 A列:無人島 B列:アメリカ C列:1万
パターン4 A列:神奈川 B列:アメリカ C列:1000万
パターン5 A列:神奈川 B列:ベトナム C列:500万

B列の国名についてはVlookupで参照する必要があると思います。
A列の単価とB列の単価を自動で表示させて、C列に結果を出したいのですが、
どうしても関数が解りません。
if構文でいくつか試してみましたが、うまくいきません

質問者からの補足コメント

  • 実行していませんので、間違っていたらすいません。
    おそらくその式と構文ですと、常にfalseの場合の式に単語を入れていく必要があるかと思います。
    フィルターシートを伝えた理由としては構文式にフィルター(範囲指定)をする必要があるためです。
    indexとmatchを使ったりしましたが、うまくいきません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/02/09 18:41

A 回答 (4件)

No.3です。


大変失礼しました。
数式の中で「1万円」だけ「円」を付けてしまいました。
他は「円」を付けていないので、数式中の「1万円」を「1万」に修正してください。
「エクセルに詳しい方(関数)教えて下さい。」の回答画像4
    • good
    • 0

まず、sheet1のA列は入力規則を作成してプルダウンリストから選択する方式とし、リストシートのA列に選択可能地名をリスト化しておくものとします。


さらに、各地名ごとに単価が異なるためリストシートのB列には地名に対応した単価を入力しておきます。
入力規則の設定については、添付画像②を参照してください。
元の値(S)の欄に
=OFFSET(リスト!$A$1,0,0,COUNTA(リスト!$A:$A),1)
という数式でOFFSET関数とCOUNTA関数を使用して地名追加があっても良いように範囲を可変にしてあります。

次にB列は任意の入力となります。ただし、A列が無人島以外の場合、C列が無条件に1000万になる国があるため、その国名をリストシートのD列にリスト化しておきます。
上記手続きをした上で、添付画像の例でいえば
sheet1のC2に

=IFERROR(IF($A2="無人島","1万円",IF(ISERROR(VLOOKUP($B2,リスト!$D:$D,1,FALSE)),VLOOKUP($A2,リスト!$A:$B,2,FALSE),"1000万")),"")

という数式を記述し、下方向へオートフィル等でコピーすればご希望の結果が表示されると思います。
添付画像を参考にしてください。
「エクセルに詳しい方(関数)教えて下さい。」の回答画像3
    • good
    • 0

> アメリカ、イギリス、ロシア、中国の単語を1000万とします



この情報はどこかに入っているのですか?
    • good
    • 0

ifを3つ重ねるかなと。


1番強い条件が無人島だと思うので、最初はif(A=無人島,1万,FALSE)からのスタートです。
で、FALSEに、次に強い条件の「アメリカ、イギリス、ロシア、中国」だと思います。ここは、ifの条件部分にor関数を使います。
or(A=アメリカ、A=イギリス以下略)と設定すれば、どれかに当てはまった時TRUEの結果になるので、TRUE部分には1000万を指定しておきます。
最後に、無人島でも四カ国でもない単語の時がくるので、FALSE部分にその記入を行うかたちです。
そこでVLOOKUPの登場ですね。
これでいかがでしょうか
この回答への補足あり
    • good
    • 0

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