![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
お世話になっています。
標題の件に付いて教えて頂きたく質問板に投稿させて頂きました。
以下の様な複数の文字列があり各文字列で共通の文字列のみを抽出するといった処理を行いたいのですが可能でしょうか??
例(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
![「複数文字列から共通文字列の抽出処置」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/3/667667_5497e3db453ad/M.jpg)
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組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルの部分一致の抽出について(2つのセルの共通部分の抽出)
Excel(エクセル)
-
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
リストビューをスクロールさせるには
Visual Basic(VBA)
-
-
4
文字列からタブコードを取り除きたい
Visual Basic(VBA)
-
5
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
6
エクセルで複数列に共通した項目の抽出方法
Excel(エクセル)
-
7
リストビューの項目の内容を変更する方法は?
Visual Basic(VBA)
-
8
変数を動的に作るには?
Visual Basic(VBA)
-
9
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
10
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
11
Split関数でLong配列に格納する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで=より左の文字を一括で...
-
Excelで指数表現しないようにす...
-
同一セル内に関数と文字列を同...
-
ORCLEでの小数の表示方法の変更...
-
.Net DLLのデコンパイルに詳し...
-
コンピュータ用語のstringの由来
-
Excelで3E8を3.00E+8にしない方...
-
VB6.0のString関数に代わるVB20...
-
Access2000 (VBA) ' & "など...
-
VBAの質問です 数値を文字列に
-
テキストデータの中の数字列を...
-
VBA2005 16進を2桁で表示したい。
-
vba 8桁の文字列を日付に変更
-
エクセル 数値データを桁をそ...
-
エクセルで文字列をtxtファイル...
-
TEXTBOXの値の取扱い
-
Msgboxの×が押されたとき
-
Left関数とRight関数を合わせた...
-
エクセルで文字列の最大値を抽...
-
[C言語]fputsとfprintfの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
VBAでの Replace関数で、ワイル...
-
文字列からタブコードを取り除...
-
Excelで指数表現しないようにす...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列の最大値を抽...
-
MS SQLServer のSQLで文字列の...
-
エクセルで文字列をtxtファイル...
-
Left関数とRight関数を合わせた...
-
【Excel VBA】複数ある特定の文...
-
同一セル内に関数と文字列を同...
-
VBA2005 16進を2桁で表示したい。
-
VBの「As String * 128」とは?
-
エクセル 数値データを桁をそ...
-
Msgboxの×が押されたとき
-
Excelはなんで先頭の0を消すん...
-
16進数を10進数に簡単に変換す...
-
Pro c/c++ でホスト変数の後に....
-
[C言語]fputsとfprintfの違い
おすすめ情報