A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
回答の数式のうち、入口となる部分は、文字列の中から1文字づづ抽出する
=MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1)・・・①
の部分です。
上記数式で1文字づつ抽出して、その後で、数字かハイフンかどちらでもないかを判定し、判定結果を2と1と0とに変換してCONCAT関数で再度結合するという作業を行っています。
この結合する部分でスピル機能が必要になるのではないかと思った訳であって、この数式がスピル機能を体現しているものではありません。
従って、スピル機能で調べても回答の数式にたどりつきません。
回答の数式は、上記①の部分と
=CONCAT(配列)・・・②
および
=FIND(検索文字,~)・・・③
の組合せで出来ていますので、①②③について、お調べになってください。
No.4
- 回答日時:
No.3です。
前回回答の数式中の「FIND("22122221222212",~)」の部分は、ご質問者が例示された「10-1234-1234-1」の数字を2に,‐を1に変換したものです。
従って、ご質問者のいう15桁の「●●-●●●●-●●●●●-●」という形であれば、「221222212222212」とすればよいので、前回回答の数式の「FIND("22122221222212",~)」の部分を「FIND("221222212222212",~)」として、数式末尾の「,14),"")」の部分を「,15),"")」に修正すればよいはずです。
出来ました。いつもご指導ありがとうございます。
本関数は初めて見ましたが
調べ方は スピル機能で良いでしょうか?
勉強したいと考えています
No.3
- 回答日時:
A列に対象文字列があるとして、A1セルの数式を考えてみました。
=IFERROR(MID(A1,FIND("22122221222212",CONCAT(2-ISERROR(MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1)*1)*2+(MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1)="-"))),14),"")
でどうでしょう。
スピル機能の有効なバージョンでしか確認していないので、スピル機能のないバージョンだとエラーになるかもしれません。
動きました。ありがとうございます。
すいません、質問なのですが14⇒15ケタに変更
以下のようにするには、どこをいじれば良いでしょうか。
お手すきな時に、宜しくお願いします
●●-●●●●-●●●●●-●
No.2
- 回答日時:
No1です。
>関数やマクロにて、~~
というご質問でしたので、マクロでの回答をしましたが、どうやらわからない方のようなので・・
A1セルに対象文字列があるとして
=IFERROR(MID(A1,FIND("11211112111121",TEXTJOIN("",0,INDEX((47<CODE(MID(A1,ROW(OFFSET(A$1,,,LEN(A1))),1)))*(CODE(MID(A1,ROW(OFFSET(A$1,,,LEN(A1))),1))<58)+(MID(A1,ROW(OFFSET(A$1,,,LEN(A1))),1)="-")*2,))),14),"")
とかでも可能と思います。
※ TEXTJOIN関数を使えるバージョンが前提です。
No.1
- 回答日時:
こんばんは
関数でもできるでしょうけれど、面倒なので、ユーザ定義関数で正規表現を利用するのが簡単だと思います。
ごく簡単な一例としては、
Function hoge(s As String) As String
Dim re, m
Set re = CreateObject("VBScript.RegExp")
re.Pattern = "\d{2}-\d{4}-\d{4}-\d"
Set m = re.Execute(s)
If m.Count Then hoge = m(0).Value Else hoge = ""
End Function
みたいな感じでしょうか。
上記だと
9910-1234-1234-1999
みたいなものからも、10-1234-1234-1 を抜き出しますので、それではまずい場合には、パターンを調整してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- JavaScript 特定の文字列を複数抜き出したいです。 関数かGAS、あるいは条件付き書式等で判別できたら教えて下さい 1 2023/09/29 22:56
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) 【関数】選択した文字列にしたがって、文字を選んで表示する 2 2023/07/13 22:44
- Visual Basic(VBA) 先頭と末尾を指定して連続した数字を入力 1 2022/09/14 13:12
- Excel(エクセル) エクセルのマクロについて教えてください。 マクロを実行すると コピー先のフォルダ名を検索して、条件に 5 2023/10/17 21:14
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) エクセル 可視セル部の数値の抜き出し方法 7 2022/05/14 13:49
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA の ChangeFileAccess
-
【正規表現】【javascript】CR...
-
javascriptで文字挿入でtoggle...
-
ボタンをクリックすると数が増...
-
同じ型【ハイフンと数字】だけ...
-
JQueryの繰り返し処理が動かな...
-
Vb.netのグローバル変数の宣言...
-
HTTPSのとき":"が"%3A"ではなく...
-
static constメンバ変数(配列)...
-
【Jquery】changeイベント毎にa...
-
ASP.NET MVCでObjectをjsに渡す
-
DIV内のDIV要素を移動する。
-
<a>タグのテキストを取得
-
XMLの空白要素をJavas...
-
JavaScriptにおける[] とか :...
-
GASでundefinedエラーが出ます
-
毎週土曜日のみの日付を取得、...
-
C#テキストボックスの文字を配...
-
javascriptで行を抽出したいです。
-
jslintのエラーについて質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【正規表現】【javascript】CR...
-
Boolean型配列中のTrueの有無を...
-
ASP+アクセスでのSQLコメントに...
-
HTTPSのとき":"が"%3A"ではなく...
-
Linux バイナリ実行できない "...
-
MFCのキャプション変更
-
Excel VBA の ChangeFileAccess
-
Vb.netのグローバル変数の宣言...
-
「オブジェクトが必要です。」...
-
【Jquery】changeイベント毎にa...
-
static constメンバ変数(配列)...
-
ボタンをクリックすると数が増...
-
同じ型【ハイフンと数字】だけ...
-
C# .NET DataGridView の行を追...
-
正規表現で半角数字1桁のみを全...
-
2次元のJSON形式の配列の展開
-
複数ファイルで使うグローバル...
-
C言語でクロージャを記述する
-
引数付きコンストラクタでコン...
-
c言語についての質問です。
おすすめ情報