自分の通っていた小学校のあるある

IF関数を使ってAなら1、Bなら2、Cなら3、Dなら4、Eなら5・・・・というように真がそれぞれ複数ある条式を連結したいのですがどうすれば良いですか?

A 回答 (5件)

A1セルに入力してありA,B,C,D,E以外だったら空白にする場合なら、


IF(判定式,合致したらこれを表示,判定以外なら~しろ)という感じにすればいいので、

=IF(A1="A",1,IF(A1="B",2,IF(A1="C",3,IF(A1="D",4,IF(A1="E",5,"")))))
    • good
    • 1

AならのAは列番号・記号をさす用でもあり、紛らわしい質問。


Aというセルの値のとき1を返すなら、
E1:F5に
a1
b2
c3
d4
e5
と作っておいて
A列にa-eが入るとして
=VLOOKUP(A1,$E$1:$F$5,2,FALSE)
が普通のやり方。IFのネストは、私は素人っぽくて好かない。
    • good
    • 0

>Aなら1、Bなら2、Cなら3、Dなら4、Eなら5


◆単なる例ではなく、アルファベットを数値化したいのならこんな方法もありますよ
=CODE(A1)-64
または、
=COLUMN(INDIRECT(A1&1))
    • good
    • 3

普通にIF関数をネストさせても良いかもしれませんが・・・


IF関数にこだわらないのであればこんな関数もあります。

A1が A なら 1、 B なら 2 ・・・と返ります
 =SEARCH(A1,"ABCDEF")

A1が 1 なら A、 2 なら B ・・・と返ります
 =CHOOSE(A1,"A","B","C","D","E","F")

また、条件が多すぎたり文字列で文字列を返すのであれば
対応する表を作っておき、VLOOKUP関数やINDIRECT関数を
使っては如何でしょうか。
見た目もスッキリして修正を加えるときに分かり易いです。
    • good
    • 0

こんなのは、どうでしょう?


自分用のワークシート関数を作ります。
VBA editor画面で、下記を入力します。

Function myCondition(ByVal myvalue As String) As Variant
If UCase(myvalue) = "A" Then
myCondition= 1
ElseIf UCase(myvalue) = "B" Then
myCondition= 2
ElseIf UCase(myvalue) = "C" Then
myCondition= 3
ElseIf UCase(myvalue) = "D" Then
myCondition= 4
ElseIf UCase(myvalue) = "E" Then
myCondition= 5
ElseIf UCase(myvalue) = "F" Then
myCondition= 6
Else
myCondition= ""
End If
End Function

ワークシートに戻って、
A1=a
A2=A

適当なセルに =myCondition(A1)、別のセルに =myCondition(A2)
と入れると、それぞれ、1,1と表示されます。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報