• ベストアンサー

Excelで数値の先頭にある空白を削除したい。

CSVデータをExcelで展開しているのですが、金額が入力されている列について、数値の先頭に空白が5~6個程入っており、その空白を全て削除し、金額の合計を求めたいと思っています。 以下の関数を試したのですが、先頭の空白が2個削除できないままです。 (1)=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","") (2)「=TRIM(A1)」 (2)⇒(1)、(1)⇒(2)を試して見ましたが駄目でした。 全てを削除する方法についてご存知の方、ご教示の程、お願いいたします。

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

  • ベストアンサー
  • nine999
  • ベストアンサー率44% (512/1140)
回答No.6

=VALUE(CLEAN(A1)) でもダメでしょうか?CLEANで見えない何かを削除(スペースは残る)し、VALUEでスペースを削除。 または、TRIMも加えてみるのも良いかも知れません。 =VALUE(TRIM(CLEAN(A1)))

その他の回答 (6)

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

 次の様な関数で、数値に変換する事が出来ると思います。 =(0&CLEAN(TRIM(SUBSTITUTE(A1,CHAR(160),))))+0  又、例えばA1~A10の合計を求める場合には、A1~A10の範囲内に、数値に直す事が出来ない文字列が入力されているセルが無い限りは、次の様な関数で、合計値を求める事が出来ると思います。 =SUMPRODUCT((0&CLEAN(TRIM(SUBSTITUTE(A1:A10,CHAR(160),))))*1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

回答は既に出尽くしていますが、参考までに別の面から A列にデータがあるとして、空きの列にB列なら =CODE(MID($A2,COLUMN()-1,1)) と入れて右方向に式を複写する。 COLUMN()-1の1は式を入れる列によって、最初が1になるように修正すること。 >先頭の空白が2個削除できないままです で本当に空白(半角)で32、全角なら8481か、可視化して確めて、考えてください。

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.4

=VALUE(A1) これでできました。 VALUEが文字列を数値化する関数です。TRIMを使わなくても先頭のスペースを消してくれました。

aizaburou2000
質問者

お礼

ご回答ありがとうございました。 教えていただいた=VALUE(A1)を試しましたが駄目でした。 恐らく空白以外の何かがあるかと思います。 お忙しい中、ご回答ありがとうございました。

  • chie65535
  • ベストアンサー率43% (8522/19371)
回答No.3

=TRIM(A1) だけでは、結果は文字列のままです。 =SUM(TRIM(A1)) で、数値になります。 なお、全角スペース、半角スペース以外の「見えない文字」が入っていた場合は、TRIMやSUBSTITUTEでは対処できません。解決するには、その「見えない文字」の正体が何なのか調べる必要があります。

aizaburou2000
質問者

お礼

ご回答ありがとうございました。 =TRIM(A1)、=SUM(TRIM(A1))を試しましたが、駄目でした。 おっしゃる通り、見えない文字をつきとめたいと思います。 お忙しい中、ご回答ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

あるセルに1を入力してコピーし、その後に該当するセルの範囲を選んで右クリックし、「形式を選択して貼り付け」で「乗算」にチェックをして貼り付けてはどうでしょう。

aizaburou2000
質問者

お礼

ご回答ありがとうございます。 試しましたが、1になってしまいました。 他の方法を試してみますね。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

空白で無いなら、見えない記号でしょうか? CLEAN関数は、試されましたか? http://pc.nikkeibp.co.jp/pc21/tech/excel36/31/

aizaburou2000
質問者

お礼

ご回答ありがとうございます。 教えていただいたページの関数を試しましたが駄目でした。 他の方法をあたってみます。 ありがとうございました。

関連するQ&A

  • (エクセル)数値だけ合計したい

    複数のセルに入力されている数値だけを抽出し、合計したいと思います。   A     B    C    D    E    F    G 1 合計金額 金額1  金額1理由 金額2  金額2理由 金額3  金額3理由 2      1000円   菓子  3 1500円  1000円   菓子   500円   飲料 4 1520円  1000円   菓子   500円   飲料   20円   消費税 以上のようにA列に合計金額を計算させる数式を考えています。 (ルール) ・B列とC列、D列とE列、F列とG列はセットです。例えば、B列には入力されているが、C列は空白ということはない ・B列とC列→D列とE列→F列とG列の順に入力されていく ・2行目、3行目のように、常に金額が3つとも入力されているとは限らない ・金額が入力されているB列、D列、F列には、「○○円」と「円」も一緒に入力されている (やりたいこと) A列に合計金額を反映させないのですが、以下のように規制したいです (1)2行目のように、金額が1つだけの場合(B列とC列しか入力されていない場合)は、合計金額は空白セルにする (2)3行目、4行目のように、金額が2つ以上の場合(D列とE列や、F列とG列にも入力されている場合)は、合計金額を反映させる (3)合計金額は「○○円」と「円」も一緒に反映させる (考えたこと) B列の金額とB列+D列+F列の合計を比較し、同じならA列は空白、違う場合はB列+D列+F列の合計をA列に反映させるようIF関数を使えばいいのではないか、と考えました。 そこで、まずB列+D列+F列の合計を出す関数を作ってみたのですが、うまくいきませんでした。 =SUM(SUBSTITUTE(B2,"円","")*1,SUBSTITUTE(D2,"円","")*1,SUBSTITUTE(F2,"円","")*1) とすると、金額が3つとも入力されていればいいですが、一つでも空白セルがあると、#VALUE!とエラーになってしまいます。 SUMPRODUCTを使用してできるかと思いましたが、同じ結果でした。 どうすれば、思っているようになるのでしょうか。 ご存知の方がいましたら教えてください。 よろしくお願いします。

  • エクセルの文字内の空白の削除

    EXCELの表の列に下記のようにカタカナで氏名が入っています。 ヤマダ タロウ ヤマダジロウ できれば、全て空白を詰めて下記のように修正したいのですが、エクセルの関数若しくはBVAでは可能でしょうか??trim関数は前後の空白だけ削除ですよね?? 宜しくお願いします ヤマダタロウ ヤマダジロウ

  • 関数によって空白したのを数値「0」に置き換える

    A.............B...............C 1 ZZ............6..............× 2 AA........... 1 3 BB 4 CC............3 B列にはそれぞれ関数が入っています。 セルB1には、B2、B3、B4の数値の合計です。 C1のセルには、C1数値とB2、B3、B4の数値の合計が一致しているか否かの判定する関数が 入っており、一致していなければ、"×"が表示させるようにしています。 しかし、ここで問題が起きました。 「VALUE」というエラーが表示されました。 上記の表では、セルB3は、空白になっております。 本来は、セルが空白になっている場合は、「0」が格納されていると思うのですが、 ここには、関数によって、文字列?の「空白」に置き換えられています。 例えば = IF((Z5) ,5, "") ようにです。 多分、関数によって文字列として認識される空白("")を置いたためと思います。 関数によって置き換えた空白("")を数値「0」として認識できる関数を教えてください。 いろいろな方法があると思いますが、「関数」のみで教えてください。 C1には、以下の関数が入っています。 =IF((B1) = (B2+B3+B4) ,"○","×")

  • 空白セルの削除

    A列に得意先、B列に金額が入力されています B列の8行目と13行目が空白です この空白セルを対象にその行を削除する関数はありますか 要するに金額欄の空白セルを読み取りその行全体を削除する関数が知りたいのです よろしくご指導ください

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

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

  • エクセルの空白を求めたいのですが。

    エクセルの空白を求めたいのですが。 例えば、 ・・A B C D E 1 4 2 3 8 4 5 6 4 7 8 9 2 10 A列の数字入力があるセルから、次のセルの入力値まで の空白の個数を関数で出来ますでしょうか? A9~A6 は空白が2個となります。 A6~A3 は空白が3個となります。 A列の 各行 には他のセルで計算された値を出しているので、 各行に現れる数値は、その時によって違います。(現れる数値は整数です) わかる方いましたら、宜しくお願いします。

  • 文字列中の空白削除について

    PHP4で、文字列の前後に空白が場合はtrimを使って削除可能ですが、文字列の中に含まれていたとき、その空白を削除するいい方法はあるでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • Accessでの全データから空白削除

    Access2003で、各データの数値の前後に存在する空白を全て削除したいと考えています(データ型はテキスト型)。 空白は半角スペースですが、1個~6個の幅があります。 例:" 111"、" 11 "、" 1111 "など 間に空白は入っていません。 シンプルに置換機能で検索できれば手っ取り早いのですが、データ件数が多いからか(40万件、60万件、80万件)、挙動が安定しません。 エラーが出て削除できなかったり、出来ているように見えてあるところから全く削除出来ていなかったりという状態です。 Trim関数あたりを使ってマクロでなんとかできるのかな、という想像はつくのですが、Howが全く分かりません。マクロ素人です。 よろしくお願いします。

  • Excelで空白を取り除く方法(97限定)

    いつもお世話になってます。 Excelで、関数、VBAどちらでもかまわないのですが、文字列中から 完全にスペースを取り除く、スマートな方法がありましたら教えて 頂きたいと思います。 力技ではかろうじてできるのですが、やはり出来れば既存の関数や メソッド(VBAではプロシージャですか…)で美しく行えればいいなと 思っています。 直、前後の空白ではなく、文字列中に含まれるすべての空白です。 Trimで前後の空白が消せるのは確認済みです。また、バージョンは 97限定でお願いします。

  • EXCEL合計について

    Excelの関数についての質問です。      A列   B列 1行目 1-2-3  1200 2行目 2-3-1  800 3行目 4-5-1  400 4行目 3-2-1  2000 5行目 1-3-2  500 6行目 答え→ ( 4500 ) 上記の表があり、B列6行目に条件に応じた計算結果を出したいです。 条件としては、1-2-3、2-3-1、3-1-2など、同じ数字で構成されているものであれば、順番が違っていても同じものとみなして合計します。 ※1-2-3は文字列です。 ※上記の表では、1-2-3でできる組合せの合計でB6に4500という答えを出してます。 思いつくままに関数を書いてみました。 =SUM(SUMIF(A1:A5,{"1-2-3","1-3-2","2-1-3","2-3-1","3-1-2","3-2-1"},B1:B5)) これでもできなくはないのですが、組合せをたくさん書くのがとても面倒で、 仮に、1-2-3-4 や、1-2-3-4-5 など組合せが多くなった場合はとても上記のやり方では対応できません。また、組合せは1桁だけでなく2桁(1-3-10)、3桁(5-80-100)も存在します。 前回こちらで以下の書き方をおしえていただいたのですが、 =SUMPRODUCT((ISNUMBER(FIND(TRIM(MID(SUBSTITUTE(A6,"-",REPT(" ",100)),1,10)),A$1:A$5))*ISNUMBER(FIND(TRIM(MID(SUBSTITUTE(A6,"-",REPT(" ",100)),100,10)),A$1:A$5))*ISNUMBER(FIND(TRIM(MID(SUBSTITUTE(A6,"-",REPT(" ",100)),200,10)),A$1:A$5))),B$1:B$5) こちらですと 1-12-3と1-2-3が同類とみなされて一緒に合計されてしまいます。 2桁以上でも対応できるやり方か、他にもっと効率の良い求め方があれば教えて下さい。

専門家に質問してみよう