• ベストアンサー

エクセル:文字処理

エクセル:文字処理 A列(A1~A10)に文字、数字、あるいは記号データが入っています。 A列のデータの先頭2文字が、最初に数字、次に[.」のときのみデータそのままをB列に、そうでないなら、スペース(“”)をB列に表示したい。式はどう記述すればいいか。

  • taktta
  • お礼率72% (1031/1430)

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

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

次の方法は如何でしょうか。 B1セルに=IF(ISNUMBER(LEFT(A1,1)*1)*(MID(A1,2,1)="."),"",A1)入力して、下方向にコピーして下さい。

taktta
質問者

お礼

解決しました。どうもありがとうございました。

taktta
質問者

補足

=IF(ISNUMBER(LEFT(A1,1)*1)*(MID(A1,2,1)="."),"",A1) 最後のA1は1つ前のはずですよね。

その他の回答 (2)

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.2

#1です 訂正 =IF(AND(VALUE(LEFT(A1,1))>=0,VALUE(LEFT(A1,1))<=9,MID(A1,2,1)="."),A1,"")

taktta
質問者

補足

=IF(AND(VALUE(LEFT(A1,1))>=0,VALUE(LEFT(A1,1))<=9,MID(A1,2,1)="."),A1,"") 回答2 =IF(AND(VALUE(LEFT(A1,1))>=0,VALUE(LEFT(A1,1))<=9,MID(A17,2,1)="."),A1,"") 回答1 A17がA1にかわただけですが、これでは空白とすべきデータに対して結 果がエラーになりますが。 困りました!

  • redowl
  • ベストアンサー率43% (2140/4926)
回答No.1

B1に =IF(AND(VALUE(LEFT(A1,1))>=0,VALUE(LEFT(A1,1))<=9,MID(A17,2,1)="."),A1,"")

taktta
質問者

お礼

ご回答どうもありがとうございました。 式中A17はA1に直してもエラーとなる。 =IF(AND(VALUE(LEFT(A1,1))>=0,VALUE(LEFT(A1,1))<=9,MID(A1,2,1)="."),A1,"") ANDの使い方が誤ってませんか。掛け算にすればどうでしょうか。

taktta
質問者

補足

たしかに 2.1とかOKですが ABCとかは#VALUE! になります。 困った!

関連するQ&A

  • エクセルの文字入力について

    ・HPのある1行をコピーしてエクセルのA列の1行目に貼り付けると、先頭が2字分くらいスペースをとった状態ではりついてしまいます。 先頭へきちんとはりつけるにはどうすればいいでしょう? 尚、このときに文字薄いブルー色になります。元の色(HP上で)は黒だったのですが。どうして? 次にA列2行目から新しく文字入力をすると、1行目と同じ状態になってしまいます。 貼り付けた文字もあららしく入力した文字も揃えるにはどうすればよいのでしょう。初心者でよろしくお願いします。 エクセルは2003だと思います。xp使用です。

  • 【エクセルの数式を教えて下さい】

    【エクセルの数式を教えて下さい】 エクセルで、A列を参照して、B列に次のように反映させたいです: A列 A1 apple A2 a banana A3 a cup of tea B列 B1 a B2 b B3 c スペースを含まない文字列の場合は、最初の一文字を、スペースを含む文字列の場合は、最初のスペースの次の一文字を返す数式を作りたいのです。 countif や find を使って作れるかと思ったのですが、自分のレベルではダメでした。 関数が出来る方、教えて頂けますか? よろしくお願い致します。

  • スペースを含んだ文字列から文字列の抽出

    エクセルバージョン2007 スペースを含む文字列で、A列に文字列がある時、以下の式を組んで文字列を抽出しています。 先頭にIDの数字が有る場合は、それぞれの目的に合った文字列を抽出しています。 B1=LEFT(A1,SEARCH(" ",A1,1)-1) C1=LEFT(MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),SEARCH(" ",MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),1)-1) 3 3df-32654-10 CCCCHH 10 1ab-12345-00 AAABBBB この文字列の場合、B列に3と10が表示、C列に 3df-32654-10 1ab-12345-00が表示されます。 先頭に、IDの無い文字列は以下の様な構成です。 6rt-95132-00 PPPKKK この文字列の場合、B列に6rt-95132-00、C列にPPPKKKが表示されてしまい、この場合、IDの数字が無い場合はB列には表示させない又は、C列に6rt-95132-00させたいと思っています。 ご教授頂ければ幸いです。 以上、宜しくお願い致します。

  • Excel で 文字→数字変換

    エクセルで文字→数字変換を行いたいのですが、 どのようにすればよいでしょうか? (やりたい例) あるセルの特定文字列位置の文字を数字に変換したい。 文字列先頭から4番目の文字を元に数値に変換する。 Aだと1と変換、Bだと2と変換、Cだと3と変換… A1:xxxBxxxx B1:2 うまく質問が表現できなくてすいません。 実現方法はVBAでも結構です(使ったことはありませんが)。

  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD    A   B   C   D  1|    AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は  ・セル内にスペースで区切られない文字列があった場合には、B列に入れる  ・それ以外はスペースで区切って、A列B列C列D列に入れる  ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

  • EXCELで文字列内のスペースの抽出

    EXCEL2000を使用しています。 A列に文字列が300行ほど入力されています。 ある条件で、各文字列の先頭にスペース(空白)が0個~3個ついています。 いま、文字列の先頭にあるスペースの数をB列に表示させたいのですが、 どのような関数を使えば良いでしょうか。 ご存じの方、ご教授下さい。

  • Excelで各セルの先頭からスペースを含めた10文字を消去する方法

    OSは XP SP2 Office2007を使用しています。Excelも2007です。 1000行あるデータの中から、ある列においてのみ、先頭から半角26文字(スペースを含む)だけを消去したいのですが、簡単に消去できる方法はないでしょうか? 26文字の構成は、年月日  時刻  1桁数字 1桁数字で、「2010/01/10  12:30:30  0  3」となっております。スペース部分はスペースが半角2つ並んでいます。 わかる方、ぜひ教えてください。

  • 行単位の文字列処理

    JAVA初心者です。 以下のようなファイル形式があります。 ファイル名(TEXT.TXT) //////////////////////////////////// Aa BFUNC1,abc,def Ab BFUNC2,ghi BFUNC3 /////////////////////////////////// ファイル行単位の先頭(1文字目)に処理の判定識別子が付きます。 A:2文字目の文字を既存の設定してある文字と置き換える。 B:,で区切り最初が関数名次からが引数になります。(例FUNC1(abc,def)) 上記をJAVAで記述したい場合どのようにしたらいいでしょうか? FileReader in = new FileReader("TEST.TXT"); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { /*行単位の先頭一文字をチェック*/ switch(){  ←行単位の先頭一文字を判定するには記述するには?  CASE: "A": /*文字列置換*/ br.replace(str ,br); break; CASE:"B": /*方法(1)","で分解して連結する。最初はNextTokenで文字列を連結 させ、次に"("をつけ、次からNextTokenで","をつけていく。","がな くなったら")"をつけるようにするには? */   /*方法(2)","の最初は関数名なのでNextTokenで(1)と同様に"("をつけ    る。次からは行末尾までを一度に連結させ、最後に")"をつけるように   するには?*/ break; } }   ?の個所を教えてください。 ほかに簡単な記述などあればそちらも教えてください。

  • Excelで文字列セルにて条件式を設定するには

    Excelにて、書式設定が「文字列」のセルに以下の条件を設定するにはどうすればよいでしょうか。 どなたか教えてください。 Excelのマクロ機能を使用して、CSVデータを取り込み、シート上の所定のセルにCSVデータを出力させている既存システムがあるのですが、出力の際に次のような条件を追加したいと考えています。 なお、マクロの修正にて対応できればいいのですが、システムの設定上、マクロをいじることができないため、なんとかシート上で条件式にて対応したいと考えています。 列Bのセルに、隣の列Aの値をみて出力する内容を変えるための条件式を設定したい。 なお、列A,Bともに条件を設定する対象は複数行を想定。ともに書式は文字列。 例) ・A1の値が空欄でないとき、B1には取り込んだCSVデータの値を表示。 ・A2の値が空欄のとき、B2には固定で”あああ”と表示(現行ではA2のデータ元CSVがスペースの場合、B2のデータ元も必ずスペース。よって、A2、B2ともに空欄になっている)。 とりあえず、列BにIF文の条件式を設定してみたのですが、文字列セルのため、設定した条件がそのまま表示されてしまいます。 なにかよい方法はないでしょうか。よろしくお願いします。

  • vba 文字列の並び替え

    こんにちは! VBAにて以下の処理をしたいのですがどうやっても上手くいかず悩んでます。 A列には文字列B列には数字が入っています。 B列を昇順で並び替えし且つA列に指定した文字列がある場合先頭にデータを昇順で持ってくる。 ※B列で並び替えたあとにif構文で切り取り→挿入を試みたのですがどうしても昇順にならず 泣 どうかご教授下さい(ToT) 宜しくお願い致します。 A B EEEE 1 EEEE 2 RRRR 3 RRRR 4 FFFF 5 DDDD 6 上記の状態からRRRRを先頭に持っていき昇順で並び替えする。

専門家に質問してみよう