

住所の数字だけを半角にしたいけど、どうやるの…
スプレッドシートで顧客リストや住所録を整理しているとき、こんな悩みにぶつかりませんか?
なんとかしようとして、真っ先に試すのが「ASC関数」だと思います。
しかし、ASC関数を使うと、こんな壁にぶつかります。

数字だけ半角になればいいのに、カタカナまで半角になってる…

結局、半角になってしまったカタカナを目視で探して、手作業で全角に打ち直す…
MASA気付けば二度手間になっていて、余計に時間がかかってしまいますよね…
そんなジレンマを解決するには、GAS(Google Apps Script)を使うのが正解です。
GASを使えば、ボタン一つ押すだけで「カタカナは全角のまま、英数字だけを半角に変換」するツールを作ることができます。
↓↓サンプル動画はこちら↓↓
MASA英数字だけが半角で、カタカナは全角になってるのが確認できますね!
この記事では、ボタン1つ押すだけで、カタカナは全角のまま、英数字だけを半角に変換する方法を解説します。
コピペだけでOKなので、ぜひ試してみてください!
【コピペOK】英数字のみ半角に変換する方法
ここからは実際にGAS(Google Apps Script)を使って、カタカナは全角のまま、英数字だけを半角に変換する方法について解説していきます。
MASAGASの立ち上げ方法は省略してます。
立ち上げ方法から知りたい方は、以下の記事をご参照ください。

コードをコピーして貼り付け
以下のコードをコピーして、Apps Scriptのエディタに貼り付けてください。
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('変換ツール')
.addItem('英数字だけ半角にする', 'convertCharacter')
.addToUi();
}
function convertCharacter() {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
// ▼ 設定エリア:ここを変えるだけで対象列が変わります ▼
const targetCol = 1; // A列なら1, B列なら2, C列なら3...
const startRow = 2; // 2行目から開始(1行目のヘッダーを無視するため)
// ▲ 設定エリアここまで ▲
if (lastRow < startRow) return;
const range = sheet.getRange(startRow, targetCol, lastRow - startRow + 1, 1);
const values = range.getValues();
console.log(values)
// ここで「英数字と記号だけ」を選んでいます
const targetRegex = /[A-Za-z0-9!-/:-@[-`{-~]/g;
const newValues = values.map(row => row.map(cell => {
if (typeof cell !== 'string') return cell;
return cell.replace(targetRegex, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
});
}));
range.setValues(newValues);
}JavaScript自分のシートに合わせてカスタマイズ
どの列を変換したいですか?
コードの以下の部分を見てください。
const targetCol = 1; // A列なら1, B列なら2, C列なら3...JavaScriptここでは「何列目を変換するか」を数字で指定します。
A列、B列などのアルファベットではなく、左から数えて何番目か(1, 2, 3…)を入力してください。
- A列を直したい場合
-
1 - B列を直したい場合
-
2 - F列を直したい場合
-
6
MASA「C列の商品名を直したい!」という場合は、ここを 3 に書き換えるだけでOKです!
何行目からスタートしますか?
次に、その下の行を見てください。
const startRow = 2; // 2行目から開始(1行目のヘッダーを無視するため)JavaScriptここでは「何行目から変換を始めるか」を指定します。
基本的に 2 のままでOK です。
なぜなら、多くのスプレッドシートの1行目は「氏名」「住所」といったヘッダーが入っていることが多いからです。
MASA2は、ヘッダー行を無視した2行目から始めるって意味ですね!
保存して実行
自分の環境に合わせた変更が出来たら、以下のステップを踏むだけでOKです。
- 「権限を確認」をクリック
- アカウントを選択
- 左下の「詳細」をクリック
- 一番下の「無題のプロジェクト(安全ではないページ)に移動」をクリック
- 「許可」をクリック
MASAこの一連の流れが分からない方向けに、こちらの記事で画像付きで解説してます!
GASを実行したスプレッドシートに戻ってみると、カタカナは全角のまま、英数字だけが半角になってるのが分かると思います。
最後に、ブラウザの「更新ボタン」を一度押してみてください。
画面が再読み込みされると、メニューバーに「変換ツール」という項目が追加されます。

MASA今後は、ここをクリックするだけで、いつでも実行できるようになります!
【もっと便利に】「もっとこうしたい」などありませんか?
今回紹介したコードは「特定の列をまとめて変換する」というシンプルなものです。
個人のメモや単純なリストならこれで十分ですが、会社の業務でガッツリ使おうとすると、こんな物足りなさが出てくるかもしれません。
- ついでにハイフンも消したい!
-
例えば、電話番号の
090-1234は、このツールで090-1234になります。一見きれいですが、システム登録などの場面では「ハイフン無しじゃないとエラーになる」というケースも多いですよね?
「半角にするついでに、不要な文字も削除したい」といったデータ整形までは、このコードでは対応できません。
- 全部自動でやってほしい!
-
「CSVを貼り付けたら、その瞬間に勝手に直ってほしい」
「毎朝9時に、全シートを自動で半角変換してほしい」
誰かが「変換ツール」ボタンを押す作業が残っている限り、押し忘れなどの恐れもあります。
完全自動化するには、もうワンステップ上の設定が必要です。
- 他の列も同時に半角にしたい!
-
今回のコードは、指定した1つの列しか変換できません。
でも実務では、
「住所(A列)を直したあとに、電話番号(D列)と商品コード(F列)も直したい」ということが頻繁にありますよね?
「複数の列を、ボタン一発でまとめて変換したい!」
と思う方もいると思います。
もっと高機能なツールが欲しいならお任せください!

どうせやるなら、ウチの会社のルールに完璧に合わせたい!

社員が使うから、絶対にミスが起きない安全なツールにしたい
そうお考えの方は、ぜひ私に一度ご相談ください。
MASAあなたの業務フローにカチッ!とハマる「オーダーメイドの自動化ツール」を作成します!
- 細かい条件指定
-
「会社名は全角、電話番号は半角」など、複雑なルールに対応します。
- 完全自動化
-
ファイルを開いた瞬間や、データを貼り付けた瞬間など様々なケースに対応します。
- 安全装置
-
データバックアップや、操作ミス防止機能を組み込みます。
まずは「今の作業のどこが面倒か」をお問い合わせから教えてください。
MASAあなたに最適な自動化プランをご提案します!
まとめ
今回は、Googleスプレッドシートで「カタカナは全角のまま、英数字だけを半角にする」GASツールの作り方を解説しました。
この記事のポイントをまとめます。
- ASC関数はちょっと扱いづらい
-
一応全部半角になるが、カタカナまで半角になり修正の手間が増えます。
- GASを使えば英数字だけを狙い撃ち
-
GASを使えば、カタカナだけ全角のままで変換出来ます。
また、ボタン1つクリックしたら自動で半角になるシステムも構築可能。
まずは今回紹介したコードをコピペして、一瞬でデータが整う快感を味わってみてください。
もし使っていく中で、
「もっと自動化したい!」 「ウチの会社独自のルールも組み込みたい!」
という悩みが出てきたら、遠慮なくご相談ください。
MASAあなたの業務を、さらに快適にするお手伝いができること楽しみにしています!