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

エクセルについて質問です

例えば、
選択肢がa〜eのプルダウンリストを作ったとします。
そこで、a〜cを選んだ時にはB4のセルに0.1を掛ける、d〜eを選んだ時はB4のセルに0.08を掛ける。その答えをd4に表示するといったことは可能でしょうか?
可能であれば方法を教えて欲しいです。
お願いします

A 回答 (3件)

ご質問者のいう


>a〜eのプルダウンリスト
というのがa〜eという例示ではなく、a〜eという文字である場合で、そのセルにはa〜e以外の入力はできないとすると、空白かa~e以外ありえないので、a~eの文字コードを利用すると数式が短くなります。
プルダウンセルがC4だとすると、D4セルに

=IFERROR(B4*VLOOKUP(CODE(C4),{97,0.1;100,0.08},2,1),"")

という数式を記述すればよいということになります。

また、No.2さんの回答のように対応表を作成する場合も
   F  G
1  97 0.1
2  100 0.1
という表で済みます。この場合は、D4セルに

=IFERROR(B4*VLOOKUP(CODE(C4),$F$1:$G$2,2,1),"")

という数式を記述すればよいということになります。
ただ。a〜eというのはあくまでも例示であって、実際は複数の単語から選択させるような場合は、上記の方法は使えません。

その場合は、No.1さん、No.2さんの方法以外に、それぞれの選択肢の頭に数字の番号を付けておく方法も考えられます。
選択肢を「1.●●●」「2.◎◎◎」「3.△△△」「4.▲▲▲」・・・のようにしておき、a~cつまり3番目の選択肢までは0.1、d~eつまり4番目以降の選択肢は0.08を掛けることになるので、D4に

=IFERROR(B4*IF(LEFT(C4,1)*1>3,0.08,0.1),"")

という数式を記述すればよいということになります。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2023/05/01 08:50

一つずつ条件を並べても良いのでしょうが、


自分なら対応表を作り、その表を参照するような数式にします。

  F  G
1  a 0.1
2  b 0.1
3  c 0.1
4  d 0.08
5  e 0.08

こんな表を作ってVLOOKUP関数で参照。
A4セルにプルダウンリストから値を拾うように作ってあるなら、

 VLOOKUP(A4,F1:G5,2,False)

これで値を拾えます。
で、
 =B4*VLOOKUP(A4,F1:G5,2,FALSE)
ってことですね。

・・・

メリットは、後から乗算する値を容易にメンテナンスできるという点。
VLOOKUP関数ではなく、MATCH関数とCHOOSE関数またはINDEX関数の組み合わせでも良いんですけどね。
 VLOOKUP(A4,F1:G5,2,FALSE)
 ↓
 CHOOSE(MATCH(A4,{"a","b","c","e","f"},0) ,0.1,0.1,0.1,0.08,0.08)
 INDEX({0.1,0.1,0.1,0.08,0.08},MATCH(A4,{"a","b","c","e","f"},0))
……分かりにくいね。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2023/05/01 08:50

こんばんは



>可能でしょうか?
多分可能でしょう。

例えば、D4セルに
=IFERROR(B4*VLOOKUP(プルダウンセル,{"a",0.1;"b",0.1;"c",0.1;"d",0.08;"e",0.08},2,0),"")
の式を入れておくとか。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2023/05/01 08:50

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