• ベストアンサー

エクセルの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/7940)
回答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

  • エクセルのIF文

    IF文が簡単なものしか分からないレベルの者です。 以下の条件においてIF文を作成する場合、どのようにしたら良いでしょうか? 御教示願います。なおエクセルのバージョンはエクセル2000です。 (1)A~C列の十数行のセルには文字が並んでいる(たとえばAXY12341,FAC236等)。 (2)あるセル内(A~C列以外のセル)に入力した文字が、A列のセルにある文字と同じものがあれば、 あるセルの色は赤色になる。 (3)あるセル内(A~C列以外のセル)に入力した文字が、B列のセルにある文字と同じものがあれば、 あるセルの色は青色になる。 (4)あるセル内(A~C列以外のセル)に入力した文字が、C列のセルにある文字と同じものがあれば、あるセルの色は黄色になる。

  • エクセル関数で文字列の中のスペースの有無を調べたい。

    エクセル関数について教えてください。 全てが半角のはずの文字列・A1セルについて、下記について調べたいです。 1.同列(A列)の他のセルに入力されている文字列とのダブリチェック(同じ文字列がないかの確認)     *ダブリがある場合"ダブリ"表示 2.A1の文字列中のスペースの有無        *スペースがある場合"スペース"表示 3.A1の文字列中に全角が混ざっていないか      *全角がある場合"全角"表示 1.については、 =IF(COUNTIF(A:A,A1)>=2,"ダブリ","") の関数を使用してチェックが出来ると思うのですが、 2.については、関数TRIM 及び 置換での削除方法、3.については、 関数ASC での半角変換 しか手段が見つかりませんでした。 上記のものをマクロを組んでいる中に組み込みたいので、出来れば、上記3つの結果をひとつのセル(C1)に表示させたいのですが、可能でしょうか? *A1セルに上記3つが当てはまる場合、C1セルに "ダブリスペース全角" と表示させたい。 どれについて引っかかっているのかがわかればいいので、記号などに置き換えてもかまいません。 可能な限り調べては見たのですが、私の知識ではどうにもなりませんでした。 もし、いい案などがあればご紹介してください。 宜しくお願いいたします。

  • ExcelでIF文などを使いこなしたいのですが・・

    Excelのセルの中にIF文などを埋め込んだりする処理を 何というのでしょうか? Excelをよく使うのですが、SUM関数などしか知らない為、 セルにIF文を埋め込む処理をもっと覚えたいと思うのですが どういう本を買えばいいのか分かりません・・。 Excelの関数の本でしょうか? Excelの関数の本については初歩的な本をもってるのですが、 関数ウィザード?を使ったものしか載ってなくて、 IF文などについては全く載っていません・・。 マクロ?とかいうものについて書かれた本を 買えばいいのでしょうか? それから、IF文等は、Excelだけではなく、Wordも使えるのでしょうか? 使えるとしたら、文法は全く一緒でいいのでしょうか?

  • エクセルの「’」ってなに?

    エクセルのセルに「'」をつけて文字や数字を入力すると文字列になりますよね?! その「'」を複数セル一括で削除したいのですが、どうしたらいいですか? 置換でやってもダメでした。何か関数使うのでしょうか? 例えばセルの中の '質問 を 質問 だけにしたいのです・・・。 教えてください。

  • エクセル セルの空白削除

    エクセルをしようしていて、添付ファイルのように ディレクトリ名とファイル名を結合したものを別セルに出力したのですが、 その際に結合したセルの文字列の後ろにスペースが入るのですが、 削除する方法はないでしょうか? SUBSTITUTE関数を使用してみたのですが、表示はできるのですが テキストで見てみると、空白が入った状態になっていて うまいこと削除できません。 他にスペースを削除する方法があれば教えて頂きたいです。 よろしくお願いします。

  • エクセル2000:IF関数?のこんな使い方をご教授ください。

    よろしくお願いいたします。 次のような場合、セル「B1」に入れる関数を教えてください。 ◇セルA1に、数値、「1」以上の数値が入っている場合、セル「B1」にそのA1の値を、 ◇セルA1の値が1以上の数値でないとき(A1が「0」だったり、文字だったり、スペースだったりするとき)は、「B1」には 空白(”” ? 要は空っぽの状態)を返したいのです。 IF関数を使うような気がしますが、それ以上は、ひらめきません。 どうか、ご教授くださいませ。

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • エクセルで左端のスペースを削除したいです。

    こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に人名の文字列があります。左端に半角のスペース、文字列の中に全角のスペース、右端にスペースはありません。文字の個数は人名のため様々です。 ここで、左端の半角スペースだけを削除したいのです。 Ltrim関数というのが当てはまるのでしょうか。 半角スペースの削除の方法を教えてください。

  • 文字列末尾のスペースを削除したい

    Excelのセルに入っている文字列末尾のスペースを削除したいのですが良い方法はありませんか。 セルの数が少なければ一個ずつ削除するのですが、数百個もあるのでできれば関数を使用して一気に処理したいです。 バージョンはExcel97を使用していますが、2000ならできるという情報でも構いません。よろしくお願いします。

  • エクセルの書式設定

    エクセルの書式設定 エクセルでセルに入力した文字列の間に1文字分のスペースを入れて表示するように設定したいのですが、どうすればいいでしょうか? ただし、条件があって、 条件1 入力する文字列は必ず2文字です。つまり2文字の間に1文字分のスペースを入れる。 条件2 ユーザー定義を使って設定したいのですが…(関数やVBAではなく。) としたいのですが、可能でしょうか? 簡単な説明で申し訳ないのですが、どなたかご教授お願いいたします。 よろしくお願いいたします。

専門家に質問してみよう