• ベストアンサー

【Excel】特定の文字でセルを分けたい。

こんにちは A1に AA123AA345AA567 A2に AA9876AA654AA4321AA012 ・ ・ ・ とあります。 AAでセルを分けたいと思います。 B1に123 C1に345 D1に567 B2に9876 C2に654 D2に4321 E2に012 ・ ・ ・ それぞれ、どの様な式になるでしょうか。 Excel2013です。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! >それぞれ、どの様な式になるでしょうか。 MID・FIND・SUBSTITUTE関数などを駆使すれば可能だと思いますが、 結構長い数式になりますので、手っ取り早い方法としては A列を範囲指定 → データ → 区切り位置 → 「カンマやタブなどの・・・」が選択されているのを確認し → 次へ → 「その他」にチェックを入れ → A と入力(2文字は入力できないと思います) → 同じ画面の「連続した区切り文字は1文字として扱う」にチェックを入れ → 「完了」 これでB列以降に区切られて表示されると思います。 他の方法としてはVBAになりますが・・・ 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 Sub Sample1() 'この行から Dim i As Long, k As Long, myArry For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row myArry = Split(Cells(i, "A"), "AA") For k = 1 To UBound(myArry) With Cells(i, k + 1) .Value = myArry(k) .NumberFormatLocal = "000" End With Next k Next i End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

hee1
質問者

お礼

教えていただきました方法で、上手くいきました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

B1セルに以下の数式を入力して右方向および下方向にオートフィルコピーしてください。 =TRIM(MID(SUBSTITUTE($A1,"AA",REPT(" ",100)),100*COLUMN(A1),100))

hee1
質問者

お礼

シンプルな式にまとめていただき、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

>AAでセルを分けたいと思います。 ?、何を言いたいのか分かりません。 >それぞれ、どの様な式になるでしょうか。 提示の文字列が数字の区切りにAAがあるものとしてB列以降に数字(文字列)を切り出す場合は次の数式で良いと思います。 =IFERROR(MID($A1,FIND("/",SUBSTITUTE($A1,"AA","/",COLUMN(A1)))+2,IFERROR(FIND("/",SUBSTITUTE($A1,"AA","/",COLUMN(B1)))-FIND("/",SUBSTITUTE($A1,"AA","/",COLUMN(A1)))-2,LEN($A1))),"") SUBSTITUTE関数で"AA"を"/"に置き換えていますが"/"でない他の文字でも問題ありません。 但し、切り出された数字は文字列なので数値に変換するときはVALUE関数で変換してください。

hee1
質問者

お礼

解りやすくご説明いただきまして、 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【Excel】たくさんの文字をつなげたい

    こんにちは A2から横に 230列並んだセルの文字列をつなげたいのですが、 =A2&B2&C2&D2・・・&HV2 とする以外の簡単な式はないでしょうか。 Excel2013です。

  • セルに入力されている文字をくっつけたい。

    エクセル2010です。 よろしくおねがいします。 セルE15~E23に入力されている文字を ひとつにくっつけて 表示したいんですが・・・ 全部文字が入力されているときも あるのですが 入力がないときまあります。 その場合は D1には 何も表示しないようにしたいのです。 例えば E15にA       E16にB      E17にC  E18~E23は入力なしとして D1に ※文字です。→A・B・C と 一つのセルに表示させるには どういう関数になりますでしょうか? よろしくお願いします。

  • Excel関数 セルの文字に区切りをつけて結合させたい

    また変な質問ですみません。 Excelで以下のようなセルがあります。   A    B    C    D    E    F 10/5、6  10000  10/10  20000  10/21  50000 間のB、D、F列はどうでもいいのですが 不連続となったA・C・Eの内容を以下のように表示したいのです。 10/5、6、10/10、10/21 ←ひとつのセルの中に データのある列は固定です。 本当は10/5、6、10、21としたいのですが、そこまでは求めません。 (月がまたがることもあり、順番もまちまちなので) このときに悩んでいるのが、空白のセルがある場合もある、という ことです。その場合にはスキップをさせたい。 例)Cにデータがなければ10/5、6、10/21 普通にA1&"、"&とつなぐと空白の場合に「、、、」となってしまい さらにセルが3つではなく10個以上あるので計算式も長くなって しまうのです。(しかも縦に1000行ある・・・) 何かお知恵はないでしょうか・・・。

  • 【Excel】 セル内に表示されている文字を 「/」の前後に分けたい。

    こんにちは。 表題通りになりますが、 セル内に表示されている文字を 「/」の前後に分けたいのです。 例えばA1に「25000/3500」と表示されています。これをB1に「25000」、C1に「3500」としたいのです。 B1、C1の式を教えてください。 Excel2003です。

  • あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように

    お世話になります。 表題の通り、 あるセルに特定の文字列を打つと、 他のセルにあらかじめ決められた文字が自動入力するようにしたいです。 具体的に言うと、 (1)セル(A,1)に「キリン」と打ち込むと    A   B   C   D 1 キリン 2 3 4 (2)1列目の B,C,Dに予め決めておいた文字が入力されるようにしたい    A   B   C   D 1 キリン 首  長い  アフリカ 2 3 4 のです。 エクセルで可能でしょうか? 詳しい方よろしくお願いいたします!

  • エクセルでセルに入力されている特定の文字を数える関数はありませんか

    エクセルでセルに入力されている特定の文字を数える関数を探しています。 例えばセルに AAABCC ABC AA と入力されていたら別のセルの表に A B C 3 1 2 1 1 1 2 0 0 と表示させたいのですが。 何か方法はありますでしょうか。

  • 【EXCEL】条件によって特定のセルの値を探し、他ファイルの同じ値のある行に反映させる

    セルK4がTRUEとなると、 あるセル(E12)がその4つ左のセル(A12)に表示されている 番号を探し、他ファイルにある同じ番号の4つ右のセルに○がつく・・・ というようにしたいのですが、関数を駆使してできますでしょうか? イメージはファイルBBのE12に  =IF($K$4=TRUE,~ と入れ、 TRUEになったらファイルAAのE9(同じ301番)に○がつく感じです >_< どなたか関数に詳しい方、アドバイスをお願いいたします!! ちなみに下記のような状態です。 【ファイルAA(Sheet1)】     A      B      C       D     E      8   番号   発行日   期限    氏名    状況 9   301   10/5     4/3   ●●     10  302   11/5    5/4   ○○    :    :     :      :     :     : 【ファイルBB】               (Sheet1の表)                A      B      C     D     E       11   番号   発行日   期限   氏名   状況 12    301   10/5     4/3    ●●     13   302     11/5    5/4    ○○    :     :     :       :     :      :

  • 特定の文字を含むセル

    セルA1~A20には氏名が、B1~B20同窓会への出欠通知の文字が記載されていますが、出席通知のあった人の中に「出席」の文字の前後にいろいろな文を付け足している人がいます。 そのセルの文字に「出席」と記載された文字が含まれているセルには「○」を、それ以外の記載の場合は「×」をC1~C20に書き出すために次のような式を書きましたがうまくできませんでした。 正しい式を教えてください。 =if(B1="*出席*","○","×")・・・これをC20までドラックしてcopyしました。

  • エクセルで消えないセルを作りたい。

    よろしくお願いします。 エクセルで、例えばB2のセルに「aa」、B3のセルに「bb」と入力したとします。 そして、A1からC3まで範囲選択をしてDeletをおしてもB2のセルの「aa」だけは消えないようにすることは可能でしょうか? エクセルは2000です。

  • エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。

    エクセルの文字列中の指定した位置の文字列の置き換え(REPLACE)。 エクセルのセルA1に 「A123B1234X9876C123DD」と入力されています。 これを 「A123-B123X9876-C123-DD」としたいです。 現在 ・B1のセルに=REPLACE(A1,5,0,"-") ・C1のセルに=REPLACE(B1,15,0,"-") ・D1のセルに=REPLACE(C1,20,0,"-") と入れて、D1にできた値の 「A123-B123X9876-C123-DD」 をコピーして E1のセルに「形式を選択して貼り付け」「値」で貼り付けして B1~D1を削除して ・A1のセルには元の「A123B123X9876C123DD」 ・B1のセルには編集後の「A123-B123X9876-C123-DD」 が表示されるようにしています。 このA列が100行もあるとうんざりです。 式をオートフィルでコピーしていくのですが  ・B1に式を入れてオートフィルでB100までコピー  ・C1に式を入れてオートフィルでC100までコピー  ・D1に式を入れてオートフィルでD100までコピー  ・D1~D100をコピーしてE1~E100に「形式を選択して貼り付け」「値」で貼り付け  ・B,C,D列を列削除  3回は式を入れないといけないです。一発で編集する方法はありますでしょうか?

専門家に質問してみよう