Excel tips:セル内のカタカナと数字を分ける簡単な方法ver.2

セル内の日本語と数字を分ける方法:ExcelとGoogle Sheetの場合ver.2

社会福祉学の授業で、PDF文書の表をエクセルに貼り付けて並べ替えようと思ったら、うまく張り付きません。

事前に自宅のWindowsでやったときはできたのですが、なぜか大学では次のようになります。

再現のためのデータは下記です。

オーストリア50.7
ベルギー52.4
チェコ53.9
デンマーク54.1
フィンランド49.4

カタカナと数字を別のセルにわけたいのですが、どうしましょう?

授業で私はギブアップしてしまったのですが、後ほどネットで調べてみるといろいろな方法がありました。

一番簡単で、納得できるやりかたを下記(Helping Tool)に見つけましたので紹介します。

http://n-hirahira18.at.webry.info/200801/article_7.html

ポイントは、カタカナの文字数と数字の文字数を数えて、LEFT関数にカタカナの文字数をいれてカタカナを抜き出す、RIGHT関数に数字の文字数をいれて数字を抜き出すということです。

A.Excelの場合は簡単

B1に次のように書きます

=LEFT(A1,LENB(A1)-LEN(A1))

LEFT(セル番号、文字数)は、指定されたセルの、左から文字数の文字を抜き出す関数です。

LEN(セル番号)は、指定されたセルの1バイトの文字(半角数字やアルファベット)の文字数を数える関数です。

LENB(セル番号)は、セルのすべての文字(1バイト文字や2バイト文字(全角カタカナ、ひらがな、漢字)の文字数を数える関数です。

上の二つの関数を利用して(総文字数ー数字の文字数)で、カタカナの文字数を算出し、それをLEFT関数の引数(読みは「ひきすう」,  英語はargument)として、カタカナ部分を抜き出します。

C1に次のように書きます。

=RIGHT(A1,LENB(A1)-LENB(B1))

A1セルの総文字数から上で抜き出したカタカナの文字数を引いて、それをRIGHT関数のアーギュメントとして、数字部分を抜き出します。

他の行にもコピーすると次のようにカタカナと数字を分けることができました。

これだと、理屈がわかりやすいので、忘れることはわりませんね。

B.Google Sheetの場合はLENB関数を作成します

Google Sheetsには、LENB関数がないので作成する必要があります。

1.Google Sheetsにおける関数の作成方法(JavaScriptで書きます)

https://developers.google.com/apps-script/guides/sheets/functions#using_a_custom_function

2.hayamamoto氏のLENB関数のスクリプト

https://gist.github.com/hyamamoto/e0ea24f76fa23772e651

2のリンクのページのスクリプトをGoogle SheetsのToolsのScript Editorに貼り付けます。詳しくは1を参照してください。

あとは、Aと同じです。下のようになります。

Helping Tool様、hayamamoto様mありがとうございました。ありがとうございました。

ところで、3年生ゼミはMac教室でSafariのバージョンが古いため、Numbersしか利用できません。Numbersで、どのようにセル内の日本語と数字を分けるかは、まだ、確認していません。


柴田 啓文

紹介 柴田 啓文

経済学部教員です。このサイトの管理者の一人です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です