この人頭いいなと思ったエピソード

それでPHONETICを使うとカタカナは全角になるのですが、今度はひらがながカタカナになってしまいます。
そこで
ひらがなはそのままで半角カタカナを全角カタカナにする方法ってありますか?

A 回答 (5件)

No3です。



>A2以降がエラー(#VALUE!)になります。
関数での方法の一例をを提示しただけなので、コピーまでは配慮していません。
(どのようにコピーしたいのかも不明でしたし・・)

下方向にコピーしたいのなら、固定値の部分を絶対参照にしておけば良いです。
 ・若干無駄な計算がありましたので、ついでに修正
 ・対象が空白セルだとエラーになるので、エラー処理を追加
してあります。

=IF(A1="","",TEXTJOIN("",1,IF((CODE(MID(ASC(A1),ROW(OFFSET(A$1,,,LEN(A1))),1))<166)+(CODE(MID(ASC(A1),ROW(OFFSET(A$1,,,LEN(A1))),1))>223),ASC(MID(A1,ROW(OFFSET(A$1,,,LEN(A1))),1)),JIS(MID(A1,ROW(OFFSET(A$1,,,LEN(A1))),1)))))

※ 配列数式であることは変わりません。
※ 対象が大量にある場合は、ユーザ定義関数にした方が効率的と思います。
※ Office365等をお使いの場合は、No4様の回答のような方法が簡便ですね。


後から気が付きましたけれど、1文字ずつチェックしているので、「パピプ」などの半角で2文字使っている文字は、上式では「ハ゜ヒ゜フ゜」のように2文字として変換されます。
これを「パピプ」のように1文字として扱いたい場合には、同じ要領ですが順序を逆にして、先にJIS変換をしたうえで、全角英数(記号もか?)を半角に変換するようにすればよいでしょう。
(上式では、ASC変換したものから、半角カタカナのみをJIS変換しています)
    • good
    • 0
この回答へのお礼

ありがとう

お礼日時:2024/09/21 20:42

2024/5からの新関数REGEXREPLACE


https://support.microsoft.com/ja-jp/office/regex …
を使うとコンパクトに書けるかもしれません。

=REGEXREPLACE(A1,"([^ぁ-ん]+)",PHONETIC("$1"))

で、A1の「ぁ」から「ん」まで以外の文字(つまり平仮名以外)をPHONETICで変換できるかも。
が、手元に使えるバージョンのExcelが無いので、実際に確認は出来てません。PHONETIC("$1") という書き方が出来ないかもしれず、その時は無理ですね。
    • good
    • 0
この回答へのお礼

ありがとう

お礼日時:2024/09/21 20:42

こんにちは



なさりたいことがハッキリとはわかりませんけれど、「文字列にASC関数を施した結果から、さらに半角カタカナだけを全角に変換したい」ということと解釈しました。

組み込み関数だとご希望のような都合の良い変換をしてくれる関数がないので、一文字ずつ調べて変換する方法になってしまうと思います。

以下は一例です。
例えば、A1セルに元の文字列があるとして、
=TEXTJOIN("",1,IF((CODE(MID(ASC(A1),ROW(OFFSET(A1,,,LEN(A1))),1))<166)+(CODE(MID(ASC(A1),ROW(OFFSET(A1,,,LEN(A1))),1))>223),ASC(MID(A1,ROW(OFFSET(A1,,,LEN(A1))),1)),JIS(MID(ASC(A1),ROW(OFFSET(A1,,,LEN(A1))),1))))
の関数式を入力し、更に、Ctrl+Shift+Enterで確定します。
(配列数式なので、Ctrl+Shift+Enter は必須です)
(確定しないと、最初の1文字しか表示されません)

※ TEXTJOIN関数は2019以降からなのでご注意。
※ ユーザ定義関数を使えるなら、もっとスマートな形にできるでしょう。
    • good
    • 0
この回答へのお礼

A1はできましたが、A2以降がエラー(#VALUE!)になります。
どこを直せばいいのでしょうか?

お礼日時:2024/09/21 16:53

JIS関数を使えばよいです。



A1セルに文字があるなら、
=JIS(A1)
です。
    • good
    • 0
この回答へのお礼

JISを使うとせっかく半角にした英数字が全角に戻ってしまいます。

お礼日時:2024/09/21 11:46

マクロを使う。


https://oshiete.goo.ne.jp/qa/1153932.html
Googleスプレッドシートを使う。
https://www.officeisyours.com/entry/2022/04/29/0 …
Excel365の新関数でスプレッドシートと同じような設定で
対応させる。
https://sakata-engineer.com/2024/05/22/excel-%E3 …
(対応では、一部Excelでは使えない関数があるので注意)
    • good
    • 0
この回答へのお礼

難しそうなので研究します。

お礼日時:2024/09/21 11:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A