No.4
- 回答日時:
>抜き出したい文字は A列にあり【◎◎◎】 と すみつき括弧に囲まれているんですが、それをB列 、C列、D列に抜き出したいと思います。
A列の文字列にある"【"と"】"の位置を左から順次検出してA列の文字列からMID関数で切り出せば良いでしょう。
1番目の"【"は次の数式で検出できます。
=FIND("|",SUBSTITUTE($A3,"【","|",COLUMN(A3)))
文字の置き換え(SUBSTITUTE関数)で"|"を他の任意の文字に変えても良いのですがA列の文字列に含まれない文字としてください。
1番目の"】"は同様に次の数式で良いでしょう。
=FIND("|",SUBSTITUTE($A3,"】","|",COLUMN(A3)))
A列の文字列から【】に囲まれた文字列(【】を含む)を切り出すには次の数式が分かり易いでしょう。
=IFERROR(MID($A3,FIND("|",SUBSTITUTE($A3,"【","|",COLUMN(A3))),FIND("|",SUBSTITUTE($A3,"】","|",COLUMN(A3)))-FIND("|",SUBSTITUTE($A3,"【","|",COLUMN(A3)))+1),"")
FIND関数でエラーが発生する場合はIFERROR関数で空欄("")とするようにしてあります。
IFERROR関数はEXCEL 2007以降のバージョンから組み込まれています。
No.3
- 回答日時:
こんばんは!
VBAでの一例です。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim i As Long, k As Long, n As Long, cnt As Long, str As String
For i = 3 To Cells(Rows.Count, "A").End(xlUp).Row
cnt = 1
For k = 1 To Len(Cells(i, "A"))
str = Mid(Cells(i, "A"), k, 1)
If str = "【" Then
cnt = cnt + 1
n = k
Do Until Mid(Cells(i, "A"), n, 1) = "】"
n = n + 1
Loop
Cells(i, cnt) = Mid(Cells(i, "A"), k, n - k + 1)
k = n + 1
End If
Next k
Next i
End Sub 'この行まで
※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
No.1
- 回答日時:
B3=IF(LEN($A3)-LEN(SUBSTITUTE($A3,"【",""))<COLUMN()-1,"",MID(LEFT($A3,FIND("|",SUBSTITUTE($A3,"】","|",COLUMN()-1))),FIND("|",SUBSTITUTE($A3,"【","|",COLUMN()-1)),100))
で右に必要分コピー
数式の解説
■LEN($A3)-LEN(SUBSTITUTE($A3,"【",""))<COLUMN()-1
A3の文字列にある"【"の数をカウントして必要分(COLUMN()-1)ない時は空白表示
■MID(LEFT($A3,FIND("|",SUBSTITUTE($A3,"】","|",COLUMN()-1))),FIND("|",SUBSTITUTE($A3,"【","|",COLUMN()-1)),100)
COLUMN()-1番目の"】"を"|"に置換してFIND関数で位置を求めて、それ以降の文字列をLEFT関数でカット
COLUMN()-1番目の"【"を"|"に置換してFIND関数で位置を求めて、それ以前の文字列をMID関数でカット
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) Excelの文字列を転記したいのですが。 2 2022/09/30 12:09
- Excel(エクセル) エクセルでA列セル内で折り返すことなく、文字列を、B列C列・・・側に一行に 2 2022/07/23 02:02
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- ノートパソコン 外付けHDDがDからEに変わってしまいました。元に戻したいです。 2 2022/04/04 14:45
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) エクセル関数 【 から 】 までの文字を抜き出す関数 4 2023/06/04 22:20
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
一行おきにコピーするマクロが...
-
エクセルの関数について(日付で...
-
Excelの非表示列も含めてコピー
-
エクセルで空白以外のセルの値...
-
エクセル マクロ 貼り付け先が...
-
行数が不規則な一週間ごとの合...
-
エクセル VBA 指定の範囲内をコ...
-
エクセルのマクロを2つご指南く...
-
[Excel VBA]空白セル以外に連番...
-
Excel 条件に従いセル移動するには
-
Excelシリアル番号別に数の和を...
-
マクロ 計算式
-
エクセルのマクロ、AVERAGEIFを...
-
シート保護の状態で行の追加を...
-
Excel VBAで日にちを入力して線...
-
マクロ初心者です、小数点6桁で...
-
エクセルで反転コピー
-
VBAで作業時間を把握したい(エ...
-
同一列内の複数条件 カウント
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
一行おきにコピーするマクロが...
-
エクセルで行挿入した際、自動...
-
行数が不規則な一週間ごとの合...
-
Excelの非表示列も含めてコピー
-
エクセル マクロ 貼り付け先が...
-
シート保護の状態で行の追加を...
-
エクセルで表示された値だけ行...
-
エクセルで空白以外のセルの値...
-
エクセル VBA 指定の範囲内をコ...
-
エクセルの関数について(日付で...
-
[Excel VBA]空白セル以外に連番...
-
エクセルで反転コピー
-
【初歩】エクセルでのマクロ(...
-
エクセルで縦に長い表を印刷
-
エクセルVBA 複数列をコピーす...
-
マクロで値がある列までコピー
-
Excel VBAで日にちを入力して線...
-
《エクセル2000》A列・B列の和...
-
マクロ ScrollColumn について
おすすめ情報