• ベストアンサー

EXCELで任意の文字を指定したい

教えてください。 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         埼玉 

質問者が選んだベストアンサー

  • ベストアンサー
  • stwoa
  • ベストアンサー率34% (15/44)
回答No.2

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

kuro1019
質問者

お礼

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

kuro1019
質問者

補足

ありがとうございます。 実は、上記の関数を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

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 =IF(COUNTIF(B2,"*-*"),D2,A2)

関連するQ&A