質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.33%
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

1回答

155閲覧

スプレッドシートで全角の数字・記号が入っている場合〇をつけたい

roro_mochi

総合スコア48

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

1グッド

1クリップ

投稿2025/01/24 06:43

実現したいこと

下記、ご教示いただけますと幸いです。

下記のようなランダムな文字列があります。

あいうえ太郎0.5
アイウエ太郎(かきくけこ)
アイウエ-01
アイウエ・P
アイウエ/H
アイウエ 2号
カキクケ 2号
アイウエーDⅡ
アイウエAA
アイウエaa

文字列は下記のような条件で混在しております。

  • 全角半角が混在しているもの
  • 全角のみのもの
  • 全角記号(数値)があるもの
  • 全角半角記号(数値)が混在しているもの

発生している問題・分からないこと

やりたいこと

全角数字、記号が存在する場合、L列に「全角半角混在」と表示させたい

=IF(MIN(FIND({"1","2","3","4","5","6","7","8","9","0"},A3&"1234567890"))<=LEN(A3),"全角数字あり","")

この場合、
カキクケ 01は、全角数字ありと表示されたが
カキクケ 02、カキクケ 0.2、カキクケ 0.2は、全角数字ありと表示されなかった

該当のソースコード

=CONCATENATE( ARRAYFORMULA( IFNA(REGEXEXTRACT(MID(C37,SEQUENCE(LEN(C37)),1),"[^A-Za-z0-9]"),ASC(MID(C37,SEQUENCE(LEN(C37)),1))) ) )

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果
=CONCATENATE( ARRAYFORMULA( IFNA(REGEXEXTRACT(MID(C37,SEQUENCE(LEN(C37)),1),"[^A-Za-z0-9]"),ASC(MID(C37,SEQUENCE(LEN(C37)),1))) ) )

アイウエオ1.5や記号が混在している場合は半角にならない
ascだとカタカナが半角になってしまう

補足

特になし

shinoharat👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2025/01/24 07:10

Google スプレッドシートですか?Excelですか?
roro_mochi

2025/01/24 07:23

申し訳ございません。失念しておりました。スプレッドシートとなります。
yambejp

2025/01/24 07:27

もし「Google スプレッドシート」ということであればタグがあるので付加しておいてください。 ちなみに「スプレッドシート」は単に表計算ということですからExcelもスプレッドシートの一つです
shinoharat

2025/01/24 07:36

【Q1】 「やりたいこと」の欄に > **全角数字、記号が存在する場合**、L列に「全角半角**混在**」と表示させたい > =IF(……,**"全角数字あり"**,"") と書いてありますが、どっちが正しいんですか? 「全角数字・記号」が存在する場合(半角との混在でなくても) "全角数字あり" と表示したい? それとも、 「全角数字・記号」と「半角数字・記号」が混在している場合 "全角半角混在" と表示したい? ------------------------------------------ 【Q2】 「数字、記号」についてのみ言及されていますが、「カタカナ、アルファベット」は全角でも半角でも条件に影響しないのでしょうか? "abc012abc012" みたいな文字があっても混在扱いではない?
roro_mochi

2025/01/24 09:10

ありがとうございます。 失礼いたしました。 【Q1】 "全角半角混在"としたいです。 【Q2】 カタカナは全角で表現したく。半角で入力はされていないため除外としておりました。 アルファベットは全角の場合があるため、半角に修正したいです。 "abc012abc012" みたいな文字があっても混在扱いではない? こちらは混在となります。
guest

回答1

0

正規表現である程度判定できます
regexmatch

半角英数を含む =regexmatch(A3,"[a-zA-Z0-9]") 全角英数を含む =regexmatch(A3,"[a-zA-Z0-9]") 半角英数・全角英数が混在する =and(regexmatch(A3,"[a-zA-Z0-9]"),regexmatch(A3,"[a-zA-Z0-9]"))

記号とは具体的になんでしょう?

投稿2025/01/24 07:36

編集2025/01/24 08:02
yambejp

総合スコア117203

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roro_mochi

2025/01/24 07:54

ありがとうございます。 記号があるのでそれだと自身で作ったものと同じ結果になりました。 CONCATENATEの正規表現を駆使して対応します。
yambejp

2025/01/24 07:58

記号は[]の中に羅列すればいいですよ
roro_mochi

2025/01/24 09:10

ありがとうございます。\.でできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.33%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問