Ctrl+Jを検索窓に貼り続けるのをやめた日
セルの中の改行を消すたびに、検索窓に「見えない文字」を貼り付ける裏技を使っていた。毎回やり方を忘れて検索し直していた話と、そこから作ったツールの話を書く。
「検索する文字列」が空欄に見える置換
他部署から届いたExcelを開くと、住所や備考の欄に、Alt + Enterで入れられたセル内改行が挟まっていた。1つのセルの中で「東京都渋谷区」で改行して「渋谷1-2-3」と続く、見た目は整っているが、システムに取り込むと行がずれる原因になる改行だった。
これを消す方法は、検索して調べるたびに同じページにたどり着いた。置換ダイアログの「検索する文字列」の欄にカーソルを置き、Ctrl + Jを押す。押しても画面には何も表示されない。見えない改行コードが、見えないまま入力されている。
毎回、同じ手順を検索し直していた
この方法自体はうまく動く。ただ、月に1回あるかないかの作業だったので、次に使うころには手順を忘れていた。
- 置換ダイアログのどちらの欄にカーソルを置くのか忘れる。
- Ctrl + Jを押しても何も起きたように見えないので、本当に入力されているのか毎回不安になる。
- 複数の列にまたがるデータだと、区切りのタブまで巻き込んで消えてしまうことがあった。
検索して、同じ解説記事を読んで、同じ手順を踏む。この繰り返しに、あるとき無駄を感じた。
気づいたのは「見えない操作をなくせばいい」ことだった
Ctrl + Jが分かりにくいのは、見えない文字を、見えない操作で入力するという組み合わせのせいだった。貼り付けるだけで改行を検出して、ボタン1つで削除できれば、覚えることは何もなくなる。
そこで、表計算ソフトのコピー形式(タブ区切り・引用符で囲む形式)をそのまま解析して、セルの区切りと行の区切りは残したまま、セルの中の改行だけを見つけて処理するページを作った。
ここで書いたツールを、実際に試す
セル内の改行を削除するツールを開く実際にどう動くか
Excelやスプレッドシートから複数列・複数行をそのままコピーして貼り付けると、セルの中の改行だけを検出する。
| 処理 | 結果 |
|---|---|
| 改行を削除 | 「東京都渋谷区」+「渋谷1-2-3」→「東京都渋谷区渋谷1-2-3」 |
| 半角スペースに置き換え | 「東京都渋谷区 渋谷1-2-3」 |
セルの区切り(タブ)と行の区切りはそのまま保たれるので、貼り戻したときに列や行がずれることはない。
表計算ソフト以外の文章にも対応
メールやメモ帳からコピーした文章には、セルという概念がなく、すべての改行が対象になる。このツールは「普通の文章として、すべての改行を対象にする」という切り替えも用意し、表計算ソフトの形式と区別して処理できるようにしている。
作ってみて変わったこと
Ctrl + Jという操作自体を、もう誰かに説明する必要がなくなった。貼り付けてボタンを押すだけなので、月に1回の作業でもやり方を忘れない。
この作業を人に頼むときにも変化があった。以前は「置換ダイアログを開いて、検索する文字列の欄にカーソルを置いて、Ctrl + Jを押して」と、口頭で説明するのが難しい手順だった。今は「このページに貼り付けて」と伝えるだけで済むので、引き継ぎのコストそのものが下がった。
使うときの注意
セルの中の改行をすべて削除すると、住所の途中に建物名を改行で分けていたようなセルでは、町名と建物名がくっついて読みにくくなることがある。削除ではなく半角スペースや読点に置き換える選択肢を用意しているのは、こうした場面のためだ。どちらが適切かは、元の改行が「区切り」として使われていたか「見た目の折り返し」として使われていたかで判断している。
よくある質問
Ctrl + Jの置換がうまくいかないのですが
欄に何も表示されないため、入力できているか分かりにくい操作です。このツールならキー操作は不要で、貼り付けるだけで処理できます。
複数の列をまとめて処理できますか?
できます。何列でも一度に貼り付けてください。セルの区切り(タブ)と行の区切りはそのままに、セルの中の改行だけを処理します。
入力した内容はどこかに送信されますか?
送信されません。処理はすべてお使いのブラウザの中で行われます。
関連する読みもの・ツール
同じように、自分の手作業をツールにしたものを他にも置いています
kamitoolはゲームや事務仕事の細かいツールが中心ですが、ネットショップの在庫・利益管理や、モール間のデータ移行のようなものは、noteで「TOOL BOX|手作業をツールにする」として公開しています。オフラインで動くファイル1枚の形で配っているものもあります。