
スプレッドシート初心者です。
セルAに「123cm 45cm 56cm」と入力すると、セルBに「123」,セルCに「45」,セルDに「56」と自動入力される仕組みを実装したいです。
セルBに数にマッチする正規表現「\d*」を使用すれば「123」を検索することはできますが、2番目の数字「45」と3番目の数字「56」を検索する方法が分かりません。
ネットで調べると「\d*{n}」でn-1番目にマッチした数字を検索できるとの記載がありましたが、スプレッドシートではエラーが返されてしまいました。
ご回答宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
以下のようなものにも対応したい場合は下のような感じでしょうか・・・。
セルA:123cm × 45cm × 56cm
セルA:縦123 横45 高さ56
セルA:123cm 45cm 56cm 789cm
セルB:=REGEXEXTRACT(REGEXEXTRACT(A1,"(\d+\D*){1}"),"\d+")
セルC:=REGEXEXTRACT(REGEXEXTRACT(A1,"(\d+\D*){2}"),"\d+")
セルD:=REGEXEXTRACT(REGEXEXTRACT(A1,"(\d+\D*){3}"),"\d+")
もっとスマートな回答をご希望であれば、
すみませんが他の方の回答をお待ちいただければと。
No.2
- 回答日時:
これでも希望に合わなさそうでしょうか?
セルA:1234cm 567cm 891cm
セルB:=REGEXEXTRACT(A1,"(\d*cm ?){1}")
セルC:=REGEXEXTRACT(A1,"(\d*cm ?){2}")
セルD:=REGEXEXTRACT(A1,"(\d*cm ?){3}")
あと、GASを使ってもいいのかどうか書いておくと、
より良いアドバイスが付くかもしれませんね。
No.1
- 回答日時:
どうしても正規表現がいいのでしょうか?
例えば以下だとどうですか?
セルA:123cm 45cm 56cm
セルB:=SPLIT(substitute(A1,"cm","")," ")
これで以下のように自動入力されます。
セルB:123
セルC:45
セルD:56
早速のご回答ありがとうございます。
ご指摘の方法を試しましたところ、実際に私が実現したい内容を実現することができました。
しかし、やはり正規表現で順番を指定する方法に興味があります。
ご提案いただいた内容では、
「123cm 45cm 56cm」以外の内容、例えば「123cm × 45cm × 56cm」や「縦123 横45 高さ56 (単位はcm)」という入力内容に対しては対処できませんし、対応させようとすると記述が複雑になってしまうかと思います。
また、何番目かを指定できれば、「123cm 45cm 56cm 789cm」という入力があった場合に4番目のセルを上書きしてしまう可能性を排除できるかと思います。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- その他(Microsoft Office) スプレッドシート複数行と列に分割方法について 1 2021/12/04 21:32
- その他(Microsoft Office) エクセルの数式で教えてください。 3 2021/12/21 09:20
- Visual Basic(VBA) ユーザーフォーム内のテキストボックスからオートフィルター抽出を行う方法 3 2021/12/13 19:58
- Visual Basic(VBA) Excelにて、テキストボックスとコマンドボタン作り、コマンドボタンでカソールを移動させたい 1 2021/11/15 18:32
- Excel(エクセル) エクセルの数値が正しく入力されない 6 2021/11/19 14:06
- 会計ソフト・業務用ソフト エクセルについて教えてください。 1 2021/12/03 10:08
- Excel(エクセル) IF文の管理を簡単にしたい 4 2021/11/07 11:23
- Excel(エクセル) エクセル作業の効率化マクロを教えて下さい 7 2022/02/06 00:47
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
エクセルで指定したセルのどれ...
-
エクセルの書式設定の表示形式...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
Excel 例A(1+9) のように番地の...
-
エクセル オートフィルタで絞...
-
【エクセル】IF関数 Aまたは...
-
ハイパーリンクの参照セルのズ...
-
EXCELのセルの中の半角カンマの...
-
EXCEL VBA セルに既に入...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
エクセルのセルの枠を超えて文...
-
Excelで、「特定のセル」に入力...
-
Excelで変曲点を求める関数を教...
-
対象セル内(複数)が埋まった...
-
Excel2003 の『コメント』の編...
-
エクセルの一つのセルに複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報