• ベストアンサー

エクセルのif文について

エクセル2007を使用しています。 あるセルの中に、スペースが5個以上あったら、そのセルの中のそれ以後にあるスペース、文字列を全て削除したいのですが、関数の書き方がわかりません。 どなたかご教授お願いできますでしょうか。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、元となる文字列がA1セルに存在しているものとしますと、次の様な関数となります。 =IF(LEN(A1)-LEN(SUBSTITUTE(ASC(A1)," ",""))<5,"",LEFT(A1,FIND("゛",SUBSTITUTE(ASC(A1)," ","゛",5))-1))  尚、この式では、スペースが半角文字と全角文字のどちらの文字で入力されていても関係なく動作致します。(全角のスペースと半角のスペースが混在していても構いません)

somehow123
質問者

お礼

ありがとうございます!

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

=LEFT(TRIM(A1),FIND("\\\",SUBSTITUTE(TRIM(SUBSTITUTE(A1," "," "))&" "," ","\\\",5))-1) などのように。 #実際のデータが全角のスペースなのか半角のスペースなのか指定がないので,そのぶん冗長な数式になりました #途中に「&"  "」のようになっている部分には,半角スペースが5個記入してあるので間違えないようにしてください #途中全角スペースと半角スペースを両方使った式なので,間違えないように回答からコピーして使ってください

somehow123
質問者

お礼

大変ありがとうございます。 さっそく使ってみます!!

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

一例です。 スペースは半角としていますので全角の場合、数式内のスペースを変更して下さい。 =IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))>=5,MID(A1,1,FIND(CHAR(1),SUBSTITUTE(A1," ",CHAR(1),5))),A1)

関連するQ&A