本日2回目の質問で恐縮です。

Excelで、セルA1に「条件」が入力されているとき(条件は日本語の単語)、
その条件に応じて、セルB1の値を変えたいのですが、IF文だと条件が多いとき
だらだら長くなってしまいますよね。

例)A1=車・・・B1=200万円、A1=家・・・B1=2,000万円 といった感じ

他に何かいい方法はないでしょうか?
教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

本日2回目のomusupaです。

(なんか私って暇人?)
例のような感じで、IF関数では長くなってしまう場合は
「VLOOKUP」関数を使われてはどうでしょうか?
別のシート(又は同じシートの表に影響されない個所)に
   D         E
1 車   200万円
2 家   2000万円


と入力し、
=vlookup(a1,D1:E2,2,0)
とB1に入力してはどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
ただ、私の希望としては、IF文に似た形で、もっと省略出来る関数があるといいのですが。

お礼日時:2001/08/09 13:40

再びomusupaです。


わたしも、kenzo-2000さんと同意見です。
関数はネストといって関数の中には、7レベルまでしか、関数は使えません。
つまり、
車、家、とその項目が、8個以下であれば、IFでやられると良いと思います。
しかし、それ以上多くなる場合は、やっぱり、別に表を作って、「VLOOKUP」が
一番良いと思います。
    • good
    • 0

「IF文に似た形」とありますが、「他に何かいい方法はないでしょうか? 」ということなので「VLOOKUP関数」を使用しました。



また、IF文なら3つ程度の分岐がせいぜいだと思います。
それ以上になると真の場合/偽の場合の条件文を書くにあたって、頭が混乱してくることになりますよ。
条件と真の場合と偽の場合、それぞれを「,(カンマ)」で区切っていくわけですから・・・・

省略するなら「VLOOKUP」以外は考えられません。
    • good
    • 0

vlookup関数を使えばよいかとおもいます。



例:
E  F
1車 200万円
2家 2000万円
このような相対表を作っておきます


A  B
1車 =IF(A1="","",(VLOOKUP(A1,$E$1:$F$2,2,1)))
2家 =IF(A2="","",(VLOOKUP(A1,$E$1:$F$2,2,1)))

これで自動的にA1に車と入ればB1に200万円と表示されます。
A1="","",←この部分は何も値が入っていないときにエラーが出ないようにしているものです。

言葉で説明するとA1に何も入っていないときは何も表示しない。そうでなければ相対表から値を抜き出して表示する。という感じです。
あとはA列を入力しやすいようにしてあげればいいかもとおもいます。
    • good
    • 0

一回目の内容は見ていません。

あしからず。

さて、やりたいことは大体分かりますが、それを一つのセル内で処理させるのは非常に辛いものがあります。(等幅フォントでご覧下さい)
  A B C D
1 家 ○ 車 200
2     家 2000
3     庭 100

○ = VLOOKUP(A1, $C$1:$D$3, 2, FALSE)と入力

別のセルにデータベースみたいなものを作成し、
B1セルには「VLOOKUP関数」を使用し、作成したデータベースみたいなものから抽出させるのがベストと思われます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ただ、私の希望としては、IF文に似た形で、もっと省略出来る関数があるといいのですが。

お礼日時:2001/08/09 13:39

目的とされていることがちょっとわからないので的を射ているかはわかりませんが「LOOKUP」関数はいかがでしょうか?


別シートにデータベース的な表を作っておいて、入力された文字や数字に対応した値や文字列を表示させることができます。
関数の使い方を書くといっぱいになってしまうので、EXCELの関数ヘルプを見て下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ただ、私の希望としては、IF文に似た形で、もっと省略出来る関数があるといいのですが。

お礼日時:2001/08/09 13:38

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


このカテゴリの人気Q&Aランキング

おすすめ情報