初めての書き込みます。
エクセル初心者でいろいろ調べましたが、応用力がなく行き詰まってしまいました。
詳しい方お力貸してください。
A1のセルに以下のように、ずらーっと入っているとします。
こんにちは 品番:AAAAAA おはよう 原産国:インドネシア さようなら 品番:BBBBBB おはよう 原産国:カンボジア・・・・・・・・・・・・・・・・・
例えば、ここから、品番から始まる10桁と原産国から始まる10桁を抜き出したい場合
=LEFT(RIGHT($A$1,(LEN($A$1)+1)-FIND("品 番:",$A$1)),10)
↑これで、抜き出しはできたのですが、繰り返し次の品番、原産国も抜き出していきたい場合はどのようにしたらよいのでしょうか??
どうぞお力貸してください。
宜しくお願いします。
No.2
- 回答日時:
数式と例が合わないので意味が分かりにくいです。
「品番」なのか「品 番」なのかどっちですか?
「品番から始まる10桁」というのは 例でいうとどこのことですか?
> =LEFT(RIGHT($A$1,(LEN($A$1)+1)-FIND("品 番:",$A$1)),10)
これは
=MID($A$1,FIND("品 番:",$A$1),10)
とどう違うのでしょう。何か意味があってなさっているのでしょうか。
あと Excelのバージョンはいくつですか?
No.3
- 回答日時:
回答がつかないようですので。
マクロを使っていいのならできますよ。まず、文字列をすべて1文字ずつ分けて配列に入れます。例えば最大文字数が200文字とすると、
下の文字列がA1に入っているとします。
品 番:AAAAAA おはよう 原産国:インドネシア さようなら 品 番:BBBBBB おはよう 原産国:カンボジア・・・・・・・・・・・・・・・・・
結果はA10以下に書き出します。
sub test()
dim word(200) as string
myword = Cells(1, 1)
For i = 1 To 200
word(i) = Mid(myword, i, 1)
Next
k = 10
For j = 1 To 197
If word(j) & word(j + 1) & word(j + 2) & word(j + 3) = "品 番:" Then
Cells(k, 1) = Mid(myword, j, 10)
k = k + 1
End If
Next
end sub
原産国も同じような方法でできるはずです。
きっともっとスマートな方法があると思いますが、それは別の方にお願いします。(*^_^*)
No.4
- 回答日時:
Sub Sample()
Dim tmp() As String
tmp = Split(Range("a1"), " ")
i = 2
For Each abc In tmp
If InStr(abc, "品番") > 0 Then
Cells(i, 1) = Left(abc, 10)
i = i + 1
End If
If InStr(abc, "原産国") > 0 Then
Cells(i, 1) = abc
i = i + 1
End If
Next abc
End Sub
私の例題が悪くてできませんでしたが、勉強になりました。こんなのできるなんて本当に尊敬します。こんな初心者に丁寧にありがとうございました。
No.5
- 回答日時:
結局 どうなるのが正解なのかよく分かりませんが 2007では FILTERXML関数が
使えないので
品番:
=LEFT(TRIM(MID(SUBSTITUTE($A$1,"品番:",REPT(" ",999)&"品番:"),ROW(A1)*999+1,999)),10)
原産国:
=LEFT(TRIM(MID(SUBSTITUTE($A$1,"原産国:",REPT(" ",999)&"原産国:"),ROW(A1)*999+1,999)),10)
下方向にコピー。
No.6
- 回答日時:
「品 番 」はカウントには入れていません。
「品番」でないとけません。以下は、徹底的に切り分けてしまいました。'//'標準モジュール
Sub SplitWords()
Dim str_text As String
Dim i As Long
Dim buf1
str_text = Range("A1").Value
buf1 = Split(str_text, "品番")
Range("A3:B3").Value = Array("品番", "原産国")
For i = 0 To UBound(buf1)
If Left(buf1(i), 1) Like "[::]" Then
Cells(3 + i, 1).Value = Mid(buf1(i), 2, 7)
Cells(3 + i, 2).Value = Mid(Split(buf1(i), "原産国")(1), 2, 7)
End If
Next
End Sub
'//
No.7ベストアンサー
- 回答日時:
#6の回答者です。
補足をみました。
内容が変わっています。
原産国 ->生産国に変わっているので、それではエラーが発生してしまいます。
質問内容の、そのデータは、IE Document の innerText とかではないでしょうか。innerHTML のデータとか提示できませんか?もう少し、まともな切り分けが可能です。
それに、Table で取り出せば、そのまま表になって並ぶはずです。
今回のコードを、文字の規則に従って、さらに直すことは可能ですが、今の段階では、この程度でもよいのかと思います。
''------
Sub SplitWordsR()
Dim str_text As String
Dim i As Long
Dim buf1, buf2, buft
str_text = Range("A1").Value
buf1 = Split(str_text, "品番")
buf2 = Split(str_text, "生産国")
If UBound(buf1) <> UBound(buf2) Then
MsgBox "品番と生産国の数の対応がありません", vbExclamation
If MsgBox("それでも続行しますか?", vbOKCancel) = vbCancel Then Exit Sub
End If
Range("A3:B3").Value = Array("品番", "生産国")
For i = 0 To UBound(buf1)
On Error Resume Next
If Left(buf1(i), 1) Like ":" Then
buft = buf1(i)
Cells(3 + i, 1).Value = Mid(buft, 2, 7)
''Debug.Print buft
Cells(3 + i, 2).Value = Mid(Split(buft, "生産国")(1), 2, 7)
buft = ""
End If
On Error GoTo 0
Next
End Sub
すごいです!!やっぱりVBAってすごいですね。頑張って関数も勉強してこういうのが少しでもわかるようになりたいです。やりたいことができました。有難うございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 経済学 経済についてです! 技術水準の高い工業製品、発展途上国は原材料・部品などを生産する分業のことをなんと 2 2023/07/16 08:27
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- 政治 汚染水放出における中国の反応 20 2023/08/24 16:58
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- 関東 長文です。 初めて1人で飛行機に乗ることになりました…。 しかも人生初の東京行きです。 普段はJRに 3 2022/06/29 14:50
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- シューズ・ブーツ この黒タグ本物でしょうか? 1 2023/07/18 02:06
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
不備があり申し訳ありません。
品番は空白なしです。何かの拍子に空白を入れてしまったようです。
私がやってみた関数はいろいろなところから拾ってきて繋げたのでおかしいかもしれません。
ちなみにバージョンは2007です。
明日回答頂いたものでやってみたいと思います。またご報告します。
いろいろやってみましたが、私の例題が悪かったようで、うまくできませんでした。
言葉は大分変えたのでぐちゃぐちゃの文章ですが、こういったA1にずらーっと入ってる文章から品番と原産国を抜き出したいです。
ゴムを全面に採用したワニモデルに新色登場。品番:X6X93A価 格:¥92,8AA+税ピコ:SS~M素材名:MOMIJI/本体=かいこ製 支え=毛皮製素敵な機能/ゴム底インナー機能/春ですね式(SAKURA)生産国:カナダ花粉症が始まる:CHI6A9・HIK799インディゴブルーxインディゴブルー品 名:キリンXNewColorNewColorアリゲーターエックス49499A9Aブラックxブラックお菓子カレンダーEXSYゴムを全面に採用したワニレディスモデルに新色登場。品番:X6X33A価 格:¥92,8AA+税ピコ:22.5~26.A素材名:MOMIJI/本体=かいこ製 生産国:中国‥‥‥
品番と生産国が抜き出したいです。原産国と記入してしまいました。失礼致しました。MIDとFINDで最初の品番と生産国を抜き出すところまではできましたが、次の品番と生産国を抜き出す事ができず悩んでいます。VBAもできたらおもしろいですが、拾ってきたものを張り付けるレベルです‥