お世話になっています。
標題の件に付いて教えて頂きたく質問板に投稿させて頂きました。
以下の様な複数の文字列があり各文字列で共通の文字列のみを抽出するといった処理を行いたいのですが可能でしょうか??
例(1)
赤鉛筆を11/1に購入
青鉛筆を11/5に購入
黄鉛筆を11/20に購入
→鉛筆を購入
例(2)
今日の天気は晴れです
今日の天気は曇りです
今日の天気は雨です
→今日の天気はです
という様な感じです。
文字列には決まったパターン等はありません。
申し訳ありませんがご教授下さい。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは!
Excelだとして・・・
No.1さんと同じ疑問を持ちつつやってみました。
↓の画像のようにA列1行目から文字列データがあり、B1セルに結果を表示させるとします。
↓のコードでマクロを試してみてください。
Sub Sample1()
Dim i As Long, k As Long, lastRow As Long, cnt As Long
Dim str As String, buf As String
Application.ScreenUpdating = False
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range(Cells(1, "A"), Cells(lastRow, "A")).Copy Range("D1")
Range(Cells(1, "E"), Cells(lastRow, "E")).Formula = "=LEN(D1)"
Range("D1").CurrentRegion.Sort key1:=Range("E1"), order1:=xlDescending, Header:=xlNo
For k = 1 To Len(Range("D1"))
cnt = 1
For i = 2 To lastRow
str = Mid(Range("D1"), k, 1)
If InStr(Cells(i, "D"), str) > 0 Then
cnt = cnt + 1
End If
Next i
If cnt = lastRow And InStr(buf, str) = 0 Then
buf = buf & str
End If
Next k
Range("B1") = buf
Range("D:E").Clear
Application.ScreenUpdating = True
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.1
- 回答日時:
補足願います
質問1
例1の場合、共通文字は「鉛筆を11/に購入」ではないのですか?
数字と記号は除外と言う事でしょうか?
質問2
文字の登場順番も見ますか?
例えば、例1の文字列に「筆入れと鉛を購う」と言う文字列も有った場合、共通文字列は「筆入」?「鉛筆を購入」?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- その他(芸術・クラフト) 選挙・投票用のヌルヌル鉛筆は? 2 2023/07/02 06:50
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
- 日用品・生活雑貨 2B以上の濃さの鉛筆について。 今までは何か書くとき、手帳かくとき、色々な場面で、サラサのジェルイン 1 2022/06/26 07:32
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルの部分一致の抽出について(2つのセルの共通部分の抽出)
Excel(エクセル)
-
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
リストビューをスクロールさせるには
Visual Basic(VBA)
-
-
4
文字列からタブコードを取り除きたい
Visual Basic(VBA)
-
5
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
6
リストビューの項目の内容を変更する方法は?
Visual Basic(VBA)
-
7
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
8
変数を動的に作るには?
Visual Basic(VBA)
-
9
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
10
Split関数でLong配列に格納する方法
Visual Basic(VBA)
-
11
vba Listviewでのチェックボックスのイベントを教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php言語の脆弱性について
-
エクセルでアルファベットか数...
-
【ChatGTPのオープンソースソフ...
-
16進数を10進数に簡単に変換す...
-
wordで同じ行に入力した文字列...
-
住所などの中から漢数字だけを...
-
[C言語]fputsとfprintfの違い
-
同一セル内に関数と文字列を同...
-
Excelで偶数行だけ文字列を数え...
-
(エクセル)複数のセルの数値...
-
Excelで3E8を3.00E+8にしない方...
-
文字列からタブコードを取り除...
-
【ホームページ】CGI?JavaScri...
-
sedなどで、特定の文字列の後の...
-
EXCELで=より左の文字を一括で...
-
エクセルで文字列の最大値を抽...
-
VBAを使って選択した範囲の数字...
-
NULLの定義について
-
vbsからバッチファイル実行時の...
-
Msgboxの×が押されたとき
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
Excelで指数表現しないようにす...
-
文字列からタブコードを取り除...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
エクセルで文字列の最大値を抽...
-
VBA2005 16進を2桁で表示したい。
-
同一セル内に関数と文字列を同...
-
Left関数とRight関数を合わせた...
-
VBの「As String * 128」とは?
-
Msgboxの×が押されたとき
-
【Excel VBA】複数ある特定の文...
-
MS SQLServer のSQLで文字列の...
-
アクセスで特定の数字以外(複...
-
エクセルでセル内の文字列の最...
-
ORCLEでの小数の表示方法の変更...
-
変数内に入った文字列の結合 UWSC
-
エクセル 数値データを桁をそ...
おすすめ情報