重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

教えてください。
EXCELでIF関数を使っていて
E列にB列のコードが「ー」があればD列。
「ー」がなければA列。を表示させるという関数を作りました。
 =IF(B2="*-*",D2,A2)
作成したのですが、すべてA列が表示されてしまいます。
「ー」がある時はという表現はどのようにしたらいいのでしょうか?

A    B    C    D     E
1 県   コード   数量  県コード   最終
2 滋賀 22222-001 100 00000777 00000777
3 東京 33333-002 200 00000888 00000888
4 京都 44444-003 300 00000999 00000999
5 大阪 55555 400 大阪
6 埼玉 66666 500         埼玉 

A 回答 (2件)

=IF(MID(B2,6,1)="-",D2,A2)


とかでもできます。

kuro1019さんの式だとB2が「-」のみでないといけないです。
MID関数で(セル,左から数えて6番目,そこから1文字)と指定してかえします。

この回答への補足

ありがとうございます。
実は、上記の関数をECXEL VBAにてマクロに貼り付けております。

しかし、""がある為にエラーになってしまうのではないかと思います。
どうしたらいいですか?

Range("E2").Select
ActiveCell.FormulaR1C1 = "=IF(MID(B2,6,1)=" - ",D2,A3)"
Range("A2", Range("A2").End(xlDown)).Offset(, 4).Formula = Range("F3").Formula

補足日時:2008/06/17 16:28
    • good
    • 0
この回答へのお礼

ありがとうございます。
EXCEL VBA のコードに二重に""をつけたらできました。
Range("F3").Select
ActiveCell.FormulaR1C1 = "=IF(MID(RC[-4],6,1)=""-"",RC[-1],RC[-5])"

お礼日時:2008/06/17 16:52

一例です。


=IF(COUNTIF(B2,"*-*"),D2,A2)
    • good
    • 0

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