No.4ベストアンサー
- 回答日時:
A1にデータがあるとして一番目から四番目を取り出すそれぞれの式
=IF(ISERROR(SEARCH(" ",A1,1)),"",(LEFT(A1,SEARCH(" ",A1,1)-1)))
=IF(ISERROR(SEARCH(" ",A1,SEARCH(" ",A1,1)+1)),"",MID(A1,SEARCH(" ",A1,1)+1,SEARCH(" ",A1,SEARCH(" ",A1,1)+1)-1-SEARCH(" ",A1,1)))
=IF(ISERROR(SEARCH(" ",A1,SEARCH(" ",A1,SEARCH(" ",A1,1)+1)+1)),"",MID(A1,SEARCH(" ",A1,SEARCH(" ",A1,1)+1)+1,SEARCH(" ",A1,SEARCH(" ",A1,SEARCH(" ",A1,1)+1)+1)-1-SEARCH(" ",A1,SEARCH(" ",A1,1)+1)))
=IF(ISERROR(SEARCH(" ",A1,SEARCH(" ",A1,SEARCH(" ",A1,1)+1)+1)),"",MID(A1,SEARCH(" ",A1,SEARCH(" ",A1,SEARCH(" ",A1,1)+1)+1)+1,LEN(A1)))
ありがとうございます。
これだけ長い関数を書いていただくなんて
感謝感謝です。
でも、なんで1つのセルからデータを分割抽出
するだけなのに適切な1つの関数がないんでしょうかね?
No.3
- 回答日時:
こんにちは。
以下のマクロで、試してみてください。
但し、検索シートの範囲は「A1~使用ROW,使用Column」です。
展開はシート「Sheet2」にされます。
Sub 文字列分割()
Dim wRng1 As Range
Dim wR As Long
Dim wC As Integer
Dim wh1 As Worksheet
Dim wStr As String
Dim wChr As String
Dim wI As Integer
Dim wRow As Long
'
'検索範囲(A1:??)
Application.ScreenUpdating = False
With ActiveSheet '検索シート
wR = .Range("A" & Rows.Count).End(xlUp).Row
wC = .UsedRange.Columns.Count
Set wRng1 = .Range(.Cells(1, 1), .Cells(wR, wC))
For Each c In wRng1
If c.Row <> wRow Then
wRow = c.Row
wC = 0
End If
wStr = c.Value
If wStr <> "" Then
wI = 1
wChr = 1
Do While wI > 0
wI = InStr(1, wStr, " ")
wC = wC + 1
If wI > 1 Then
wChr = Left(wStr, wI - 1)
wStr = Mid(wStr, wI + 1)
Worksheets("Sheet2").Cells(c.Row, wC) = wChr '←展開シート(Sheet2)
Else
Worksheets("Sheet2").Cells(c.Row, wC) = wStr '←展開シート(Sheet2)
End If
Loop
End If
Next
End With
Application.ScreenUpdating = True
End Sub
マクロ貼付
(1) Alt+F11 (ツール → マクロ → Visual Basic Editor) →「挿入」→「標準モジュール」で表示される画面に貼り付け
(2) 実行は、(F5を押す)又は、シート画面に戻って Alt+F8を押してマクロ一覧からマクロ名を選択して実行
No.2
- 回答日時:
関数を使うと、とんでもなく複雑になります。
メニュー操作ではいけないでしょうか?
参照URLに詳しく出ています。
参考URL:http://www.relief.jp/itnote/archives/000133.php
No.1
- 回答日時:
ありがとうございます。
どうしても関数でやっつけたくなる癖がありまして・・・
区切り位置の使い方勉強になりました。
情報量が多く、文字数などが不規則なので、応用して目的の
ことが出来るようにやってみようかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) Excelで日報を自動で作成したい 売上管理シートに入力した売上データを、日報に自動反映させたいと考 1 2023/04/29 18:07
- Excel(エクセル) Excel 売上管理シートに入力した売上データを、日報に自動反映させたいと考えています。 売上管理シ 3 2023/04/29 18:08
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロを複数シートに実行する...
-
エクセルを開いたとき常に同じ...
-
エクセルで回数をカウントする...
-
複数シートの保護・解除
-
EXCELでワークシートを開いたら...
-
VBAで条件によってシート見出し...
-
Excel:複数シートから条件に合...
-
【 Excel】シートの見出しに自...
-
コマンドボタンがデザインモー...
-
エクセルの複数のワークシート...
-
EXCELのエラー
-
ExcelのSheetに作られたMacro1...
-
エクセルシート内での閲覧制限
-
マクロを特定の複数シートで実...
-
エクセルVBAでcmbBoxのプロパテ...
-
【Excel VBA】シート見出しの色...
-
シートを保護した時でも並べ替...
-
エクセルでシートの並び替えで...
-
EXCEL 複数シートを1つの...
-
マクロで複数シートに条件付き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
EXCELでワークシートを開いたら...
-
エクセルを開いたとき常に同じ...
-
VBAで条件によってシート見出し...
-
EXCELでマクロを使わずに図形の...
-
マクロを特定の複数シートで実...
-
エクセルでシートの並び替えで...
-
エクセルの複数のワークシート...
-
複数シートの保護・解除
-
エクセルで複数のSheetを一括フ...
-
エクセルで回数をカウントする...
-
EXCELのエラー
-
Excel:複数シートから条件に合...
-
VBA シート名を先月の名前に...
-
EXCELの起動時に常に同じ...
-
Excelで,特定のシートを開いた...
-
Excelのマクロの呼び出し元を知...
-
メッセージボックスでシート名...
おすすめ情報