
下記の様な質問でも受け付けて頂けますか ?。
たとへば、「235789」と「34678」の数字の重複「378」(ここでは説明の為手入力)を表示させたい場合、
「3」と「7」と「8」の各々の文字列の位置を求る関数を使用してからその位置から何文字目を
求めるという関数を使用しなければならないが(知識不足でこの方法しか浮かばない)
この重複数字「378」を一回の関数又は入れ子で求める関数を使う方法はありますのでしょうか。
文字列を左・右から求める方法は分かっておりますが、この方法は開始位置を求めてから別関数で求める数字を検索するという様な過程を経なければなりませんので大変な労力を使います。
開始位置が不規則の場合は直接求めることが出来ません。
その様な該当文字を直接求める関数は有るのでしょうか。
目視で数回求めるには使用できますが、多数ある場合は大変ですので。
アドバイス宜しくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> その様な該当文字を直接求める関数は有るのでしょうか。
関数(というか数式)での回答を希望するなら バージョンを明記しま
しょう。使える関数が全く違ってきます。
数式でやる意味がさほどないならクエリでやればいいと思います。
Text.ToListで文字列を1文字単位に分割したリストを作ってから
List.Intersectで重複しているものだけ抜出→結合すればいいです。
No.2
- 回答日時:
こんばんは
ユーザー定義関数をご存知なら・・・
Public Function conCharacter(ByVal a As Range, ByVal b As Range) As Variant
Dim i As Long, tmp As String
Dim strTrg As String, strKey As String
If Len(a) >= Len(b) Then
strTrg = b.Text: strKey = a.Text
Else
strTrg = a.Text: strKey = b.Text
End If
For i = 1 To Len(strTrg)
If InStr(strKey, Mid(strTrg, i, 1)) > 0 Then tmp = tmp & Mid(strTrg, i, 1)
Next i
conCharacter = tmp
End Function
関数ダイアログ(fx)登録用
Sub Register_conCharacter() 'ダイアログレジスタに登録
Application.MacroOptions Macro:="conCharacter", Description:="セル1(文字列) と セル2(文字列) の重複文字を取得する関数です。", _
Category:="ユーザー定義", ArgumentDescriptions:=Array("対象セル1:文字列", "対象セル2:文字列")
End Sub
使用例添付画像 =conCharacter(C3,D3) フィルハンドル↓
なんか、Functionコードにしたらスピル関数で出来そう・・かな

No.1
- 回答日時:
こんばんは
・どちらの数を元にして、どちらを検索するか
・重複する数値が含まれている場合どうするのか
などありそうな気がしますが、以下一例として・・・
A1、B1に数値があり(必ず数値である前提です)、A1セルの値を分解して順に検索するものと仮定すれば・・
=TEXTJOIN(" ",1,IFERROR((FIND(MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1),B1)>0)*MID(A1,ROW(OFFSET($A$1,,,LEN(A1))),1),""))
を(例えばC1セルに)入力し、Ctrl+Shift+Enterで確定します。
(配列数式なので、確定操作は必須です)
この結果は、
235789 34678 → 3 7 8
235789 87643 → 3 7 8
237237 34678 → 3 7 3 7
のようになります。
※ 数値以外の文字が含まれる場合は機能しません。
※ TEXTJOIN関数が使える前提です
※ 365環境でFILTER関数が使えれば、もっと簡単な式にできるかもしれません。
ご参考にでもなれば。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
”ギリギリ” を丁寧に言うには
-
この文字の変換方法を教えて
-
「初め」か「始め」どちら?
-
「~していただきまして、あり...
-
「時間がたつ」の「たつ」は、...
-
「お客様お一人おひとり」と書...
-
対策を採る?取る?
-
「皆んな」という表記に違和感...
-
住所の「字(あざ)」の英文表...
-
「取組」と「取り組み」の違い
-
きへんに毎と書くと梅ですが、...
-
新人から上司へ飲みの誘い
-
文章にする時、ひらがなの「と...
-
0(ゼロ)とO(オー)の書き分け...
-
“わく”に宛てる漢字について
-
魚へんの下の点々が大
-
日差しが差す(陽射しが射す)...
-
ネ+豊 でなんと読みますか?
-
「50万円を超える」は50万円以...
-
次頁はなんと読みますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「初め」か「始め」どちら?
-
”ギリギリ” を丁寧に言うには
-
「取組」と「取り組み」の違い
-
この文字の変換方法を教えて
-
「~していただきまして、あり...
-
「時間がたつ」の「たつ」は、...
-
「お客様お一人おひとり」と書...
-
次頁はなんと読みますか?
-
対策を採る?取る?
-
「基」と「元」の使い方
-
コツコツ努力・・・?
-
「50万円を超える」は50万円以...
-
文章にする時、ひらがなの「と...
-
日差しが差す(陽射しが射す)...
-
ひらがなの「みなさん」と漢字...
-
文章で対象者を「人」というか...
-
「所要時間は1時間程度です」は...
-
エクセルでセルの中身が漢字か...
-
0(ゼロ)とO(オー)の書き分け...
-
住所の「字(あざ)」の英文表...
おすすめ情報