- ベストアンサー
エクセル2007 ドロップダウンリスト
vista利用の初心者です。 よろしくお願いします。 ドロップダウンリストで選択した後(後という表現が適切かどうかわかりませんが)の 計算式をご存じの方は教えてください。 たとえば A1に5と入力しておきます。 B1にドロップダウンリストで あ50,い60,う65と設定しておきます。 C1には ドロップダウンリストであ50を選択した場合は A1の5×50の数値 い60選択で 5×60 ・・・の数値を設定したいと思っています。 どなたか詳しい方、よろしくお願い申し上げます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ドロップダウンリストに設定されている文字列には、 「最初の1文字だけが文字で、2文字目以降が必ず数字である」とか、 「含まれている数字は最後の2文字だけである」 といった規則性はあるのでしょうか? もし、規則性がある場合には、その規則性によって、やり方が変わって来ます。 【最初の1文字だけが文字で、2文字目以降が必ず数字である場合のC1セルの数式】 =IF(OR(A1="",B1=""),"",A1*VALUE(MID(B1,2,LEN(B1))) 【含まれている数字は最後の2文字だけである場合のC1セルの数式】 =IF(OR(A1="",B1=""),"",A1*VALUE(RIGHT(B1,2))) 【特に規則性は無い場合のC1セルの数式】 =IF(OR(A1="",B1=""),"",A1*LOOKUP(B1,{"あ50","い60","う65";50,60,65}))
その他の回答 (2)
- kagakusuki
- ベストアンサー率51% (2610/5101)
回答番号:ANo.2です。 B1セルの文字列の、数字部分の桁数や、その前の部分の文字数に規則性が無くとも、数字が文字列の最後にさえあれば、計算可能となる数式を思い付きました。(但し、計算時間が多少長くなるかも知れません) =IF(AND(ISNUMBER(A1),ISNUMBER(VALUE(RIGHT(B1,1)))),RIGHT(B1,SUMPRODUCT(ISNUMBER((10000&RIGHT(B1,ROW(OFFSET(Z1,,,LEN(B1)))))*1)*1))*1,"") ※数式中に 10000& という部分があるのは、数字部分の直前に「/」や「$」、「\」等がある場合に、シリアル値やドル、円等として変換される事を防ぐためです。
任意のセルに「書式設定」を入れます。例えばE1から下に入れるとして、 「ユーザー定義」のボックスに "あ"#,##0 とします。 これで数値を入れると「あ50」などと表示されます。 下のセルにも同様に "い"#,##0 と。 B1に入力規則を入れるとして、 リストに先程のセル番地を指定します。 C1に =IF(B1=E1,B1*A1,IF(B1=E2,B1*A1,IF(B1=E3,B1*A1,""))) と入れます。 セル番地は適宜読み替えて下さい。 他の方法があると思いますが、ご質問のお答えをしました。
お礼
おはようございます。 お礼が遅れまして申し訳ございません。 早速のご対応ありがとうございます。 今から、やってみます。またわからないようでしたら 補足いれさせていただくかもしれません。 よろしくお願い申し上げます。
補足
どうにか出来ました! ありがとうございました。 また、今後ともよろしくお願い申し上げます。
お礼
おはようございます。 お礼が遅れまして申し訳ございません。 早速のご対応ありがとうございます。 今から、やってみます。またわからないようでしたら 補足いれさせていただくかもしれません。 「最初の1文字だけが文字で、2文字目以降が必ず数字である」 そうです。実際はアルファベットと数字です。AC100とかAD200とか・・・ とにかくやってみますね。 ありがとうございます。