『文字の抽出』(たみお)
Excelについての質問です。
○○ ○○○ ○○ ジャケット S メンズ ○○ ○○○○ ○○ シャツ 1 キッズ ○○ ○○○○ ○○ ○○○ ○○ ワンピース XL レディース ○○ ○○○○ ○○ ○○○ タンクトップ M メンズ ○○○○
上記のようにランダムな複数の語句が含まれる商品名からある特定の語句を抽出したいと思っております。※例でいうとジャケット、シャツなどの服の種類 条件として商品名の語句の数はランダム、決まって使われる語句はメンズ、レディース、キッズ、ユニセックスの性別のみ、服の種類と性別の位置関係は商品名に限らず決まっている(服の種類の後ろ2語句目に性別が来る) 語句間は半角スペースで区切られている
以上の条件の時に使える関数などあれば教えてください。
< 使用 Excel:unknown、使用 OS:unknown >
性別の2語句前の単語を抽出したいということでしょうか。 数式での回答を希望するなら、 Excelのバージョンの記載は必須です。 以下、完成想像図
|[A] |[B] [1]| ○○ ○○○ ○○ ジャケット S メンズ ○○ |ジャケット [2]|○○○○ ○○ シャツ 1 キッズ ○○ ○○○○ |シャツ [3]|○○ ○○○ ○○ ワンピース XL レディース ○○ ○○○○|ワンピース [4]| ○○ ○○○ タンクトップ M メンズ ○○○○ |タンクトップ
仮にMicrosoft365だとしても、私には数式での解答は無理なので、 もしVBAでやるならこんな感じで。
Sub test() Dim tmp, v Dim r As Long, i As Long, j As Long r = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To r tmp = Split(Trim(Cells(i, "A")), " ") For Each v In Array("メンズ", "レディース", "キッズ", "ユニセックス") For j = 0 To UBound(tmp) If tmp(j) = v Then Cells(i, 2) = tmp(j - 2) Next Next Next End Sub (ニック) 2024/04/14(日) 17:47:42
↑ VBAでいいんですか?
以下、変更点 "A" → "F" Cells(i, 2) → Cells(i, "E")
繰り返しになりますが、 数式での回答を希望するなら、 Excelのバージョンの記載は必須です。 (ニック) 2024/04/14(日) 21:10:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.