其ノ5 基本ワザ一問一答
「ワザ」と呼べるかどうか微妙ですけど…。
仕事に役立つであろうちょっとしたテクニックをQ&A形式でまとめました。
個数は20コ。
…なぜ20コかというと、「基本ワザを140コ掲載!」とかやっても、そんなの覚えられないし、そもそも最初から見る気をなくしちゃうでしょ。
なので、もし自分が一緒に仕事をするならこのくらいは知っててほしいな、というのを基準に、20コに厳選しました。
リファレンスを期待していた方、スミマセン。
では、はじまりはじまり~。
Q01.「01」と入力したのに「1」になるんだけど…?
先頭のゼロがなくなっちゃう、ということですね。セルの書式の問題です。
対象セルを右クリックして、「セルの書式設定」→「文字列」にし、そのうえで改めて入力してみてください※1 ※2。
先頭の「0」が消えなくなります。
セル1コ1コじゃなくて、列全体を書式設定したい場合は、列選択したうえで同じ操作をしてください。 て言うか、ね、入力した後で「おおっと!ゼロが打てない」→「書式を変えよう」を1コ1コやるくらいなら、あらかじめ列全体の書式を設定しておくことをオススメします。 アタマにゼロが必要な領域って、「郵便番号」とか「電話番号」とかが考えられるけど、どうせ列全体、1フィールド全体が「郵便番号」「電話番号」なわけでしょ。だから、ね。
Q02.色付きセルの文字だけコピーしたい
単純にセルにカーソルを合わせただけの状態でコピー&ペーストをすると、塗りつぶしの色や罫線もコピーされちゃいますよね。
これの文字内容だけコピーしたい、と。
そういうときは、まず、ダブルクリック、ないしF2キーでセルの中に入って※1、文字内容をコピーします。
そうしておいて、コピー先のセルに貼りつければOK※2。
フォント自体に色が付いているときや、コメントが付いているときも、同様にすれば、色やコメントを引っ張ってこなくて済みます。
Q03.色だけコピーしたい
上(Q02)の逆ね。色は変えたい、けど文字内容は変えたくない、という時。
「形式を選択して貼り付け」を使います。
やり方は、まず、ふつうにコピーします※1。
Q02とちがい、セルの中には入りませんのでそこはお間違えなく。
で、貼りつけるときに、右クリック→「形式を選択して貼り付け」→「書式」とやります※2 ※3 ※4。
こうすれば、文字内容は元のまま、書式まわりだけをもってくることができます。
ま、「色だけコピー」とは厳密に言うとちがうんだけどね。罫線なんかももってきちゃうから。
でも、やりたいことはこれでだいたい実現できるんじゃないかな。
こういうことをやりたいときって、だいたい動機は「書式を整えたい・揃えたい」だろうからね。
塗りつぶしの色だけを同じにしたいなら、同じ色を塗ればよいのだし。
Q04.1行おきに色を塗りたい
レコード1行おきにマーブル状に色が塗ってあると、見やすいですよね※1。 でも1行1行設定するのはめんどう…。
そういうときは、まず、アタマの2行だけ色設定をつくります。 そして、その2行を選択し、コピー※2。
で、残りの行を選択し、Q03でやった書式貼り付け(右クリック→「形式を選択して貼り付け」→「書式」)をします※3。
すると、マーブル状になりますので。
Q05.敬称「さん」を「様」にしたい
1コ1コ手で直すのはめんどうですよね。そういうときは「置換」を使いましょう。
まず、敬称「さん」が入力されている範囲を選択して、Ctrl+Hを押します。
そして、「検索する文字列」に「さん」を、「置換後の文字列」に「様」を入力します※1。
そうして、「すべて置換」を押すと、「さん」→「様」に変換されます※2。
そうそう。最初に範囲をちゃんと選択しておいてくださいね。 何の範囲も選択せずにいると、Excelは画面全体を置換の対象として理解してしまうので、意図しないところまで変換されちゃいますので※3 ※4。
なので、置換のときの範囲選択、お忘れなく。
ちなみに、「すべて置換」じゃなくて、そのとなりのタダの「置換」(「すべて」のつかない方)だと、置き換え作業を1コ1コ行えます。
なので、用途に合わせて使い分けてください。
あ、そうそう。 ついでにここで、自分がよく使うショートカットキーを紹介しておきます。 全部で10コです。 少ないな~(笑)。 …まあ、あの、これぐらい覚えておくと便利だよ、という感じで。
全部のショートカットキーの一覧は、「ショートカットキー押してみた」のページで紹介しています。
Q06.敬称「様」をとりたい
文字列のなかからある文言をなくしたい。
こういうときにも置換が役立ちます。
まず、Q05と同じように、対象範囲を選択してCtrl+H。
そして、「検索する文字列」を「様」、「置換後の文字列」は空っぽにします。
何も入力しません※1。
そうして、「すべて置換」を押すと…。
「様」が一括でなくなります※2。
Q05でも言いましたが、置換をするときは範囲選択を忘れずに。 さもないと…※3 ※4。
Q07.「姓 名」のあいだの空白をとりたい
名字となまえのあいだに空白があるけど、それをなくしたい。 例えば、下↓画面みたいなとき※1。
アキスペースをとるにも、置換を使います。 「検索する文字列」に「スペース」を指定してください。 「置換後の文字列」はblancですよ※2。 まあ、見た目的にはどっちも空っぽのように見えるんですが、こうすることで、スペースを削除することができます※3。
…もし、文字列のあいだのアキは残したいが、最初と最後のよけいなアキだけとりたい、というとき、例えば「 A HAPPY NEW YEAR 」(最初と最後にアキがある)の単語間のアキは残したいけど、前後のよけいなスペースは不要だな、というときは、trimという関数を使います。
ただし、trim関数だと、残されるアキスペースは半角になります。
半角スペースを全角にしたいなー、という場合は、下のQ08で紹介している「置換のオプション」→「半角と全角を区別する」をお使いください。
Q08.半角カタカナを全角にしたい
半角文字列を全角にするには、jis関数を使うと手っ取り早いです。 例えば、下↓みたいな半角/全角まじりの文字列に対して、=jis(対象セル)(ここでは対象セル=A3)と使うと…※1 ※2
こうなります。
ただし!
jis関数の困ったところは、数字やアルファベットも全角になっちゃう、ってトコです。
なので、ひらがな・カタカナ・漢字しかない文字列を全角に統一したいのであればjis関数で事足りるんですが、アルファベットや数字混じりのところをカタカナだけ半角→全角にしたい、という場合は、けっこう面倒です。
手作業でやるなら、
1. とりあえずjis関数ですべて全角に
2. 「置換」のオプション「半角と全角を区別する」で全角の数字・アルファベットを半角に
って作業をします。
2.について説明しますと、「置換」をふつうに行うと半角と全角は区別されないのですが、オプションを使うと半角/全角を厳密に区別して置換することができるんです。
これを使って、数字とアルファベットだけ半角に戻します。
例えば、数字の「1」を全角→半角に戻すやり方は、下記のとおりです。
あ!
jis関数の結果は前もって値貼り(其ノ2参照)しておいてくださいね。
まず、「置換」の「オプション」へと進んで…※3
「半角と全角を区別する」にチェックを入れます。
そして、「検索する文字列」には全角の「1」を、「置換後の文字列」には半角の「1」を入力してください。
すると、全角→半角になります※4 ※5。
これで「1」を半角にすることができました。
これを数字(0~9)、全アルファベット大文字(A~Z)、全アルファベット小文字(a~z)分だけ繰り返します。
10+26×2で、全部で62回。
うーん、けっこう大変。
ただ、この愚直なやり方が、より効率良い方法(例えばマクロ使用とか)を考える上での基本となると思いますので、
一度頭に入れておいてください。
Q09.全角数字を半角にしたい
Q09と逆に、全角文字列を半角にしたいときは、asc関数を使います。 使い方は、=asc(対象セル)(ここでは対象セル=A9)です※1 ※2。
ただ、今度はカタカナも半角になっちゃうんですよ。 なので、単に数字だけ半角にしたいなら、asc関数を使わずに、上のQ08で紹介した「半角と全角を区別する」置換を0~9まで10回行うのが良いでしょう。
Q10.セルを結合したい
複数セルをくっつけて1つのセルにするには、「セルを結合して中央揃え」を使います。 結合したい範囲を選択して、「セルを結合して中央揃え」を押してください※1 ※2。
「中央揃え」ということになっていますが、後で左寄せや右寄せにすることも可能ですので。
また、タテ方向に結合することもできます※3。
結合を解除するには、対象セルにカーソルを合わせてもう一度「セルを結合して中央揃え」を押します。
…ですが、わたし個人はセルの結合、あまり使いたくないです。
…うーん、何かね、結合セルがあると、範囲を選択するときとかにうまくいかなくてイライラした経験が多いので…。
中央に文字を配置したいだけでしたら、あらかじめ文字を入力し範囲選択した上で、右クリック→セルの書式設定→配置と進み、「文字の配置」を「選択範囲内で中央」に設定する※4 ※5、という方法もあります。
これだと、セルの並びを崩さなくて済みます。
Q11.セル内で改行したい
Alt+enterでセル内改行ができます※1。
…ですが、わたしはコレもあまり好きじゃありません。
セル内改行があると、テキスト貼り付けして他のアプリケーションで利用しようとしたときに両端に「"(ダブルクォーテーション)」が入って面倒、みたいな事態があるので…。
ちなみに、セル内改行を削除するには、置換を使います。
「検索する文字列」にCtrl+Jを入力してください。
何も入力されていませんが、改行コードが入力されたことになっています。
「置換後の文字列」はblancですよ※2 ※3。
Q12.表の一番下に行きたい
Ctrl+↑↓←→(方向キー)を押すと、キーの方向にカーソルを一気に移動させることができます。
…「一気に」というの雑な言い方ですね、スミマセン…。
…えーと、説明すると、挙動としては、
・入力されているセルが続いているなら、それが途切れるまで(次の空白まで)
・空白セルが続いているなら、次に入力があるところまで
となります。
だから例えば、一番左の「No」列が全部埋まっていると仮定すると、現状セルが一番上にあったとしても※1、Ctrl+↓(下キー)でおしりまで行けます※2。
Shift押しながらCtrl+↑↓←→、すなわちCtrl+Shift+↑↓←→で、一気に選択も可能です。
だから例えば、一番左の列が全部埋まっている、かつ、一番上のヘッダー行に空白がない、と仮定すると、左上から
1. Ctrl + Shift + →
2. Ctrl + Shift + ↓
の2手順で、表全体を選択することができます※3 ※4。
フィルタかけるときとかに便利ですよね。
なので、表を作るときは、
1. 最左列は空白なくびっしり埋める(ないときは「No」列などを作って埋まっているようにする)
2. ヘッダー行も空白なくびっしり埋める
を心がけておくと、何かと便利ですよ。
ちなみに僕は、関数をその列のおしりまでコピー→貼りつけするときに、このCtrl+↑↓←→をよく使います。
最初のセルに関数を入力し、Ctrl+Cでコピーしたら、Ctrl+←(左)(何回か押す場合もあります)で一番左の列に移動します※5。
そして、Ctrl+↓(下)で最下端へ行き、 右へ移動して元の列(はじめに関数を入力した列)に戻ります※6。
関数を入れたい列のおしりまで来ました。
その位置から、Ctrl+Shift+↑を押すと、関数を入れたい列のアタマからおしりまでを全部選択できます※7。
そうしたら、Ctrl+Vで貼りつけてやれば、ハイ!
アタマからおしりまで関数を入れることができました※8。
Q13.フィルタをかけて削除すると、全データ削除されちゃう
Qを読んで「?」ってなってる方もいらっしゃると思いますが、こういう症状もあるよ、ということで解説します。
例えば、下↓画面※1で、「削除フラグ」列(E列)に「1」が立っているレコードを削除したい。
そういうとき、ふつうは、フィルタで「1」を抽出して、行ごと削除しますよね※2。
そうすれば、このデータは全部で235件、削除フラグ「1」は40件なので、作業後は195件残るはずです。
ですが、ごくまれに40件以上、例えば70件とか80件とか、最悪全部のデータが削除されちゃうことがあるんですよ。
つまり、フィルタで隠れているはずのところ、見えていないところ、抽出対象でないよけいなところが削除されちゃうんです。
超イヤですね。
実は、わたし自身はこの症状になったこと、ないんですよ。
ただ、一緒に仕事してた人がこの症状になったことがあったみたいで、非常に警戒していました。
なので彼は、削除したいレコードがあるときは、並べ替えで表の上か下にデータをまとめてそれを削除する、という手順を踏んでました。
でね、わたしはこの症状になったことがないから、こんなバグみたいな症状の存在を信じられなかったし、彼のやり方も「効率悪いな~」と思いながら眺めていただけ(反省の意味もこめて言っておきますが、彼のやり方も対処法のひとつです)なんですが、あるとき、似たような症状に遭遇したんですよ。
それは、フィルタで「1」だけ抽出して色を塗ろうと思ったら、塗れないというものです。
このときはじめて、フィルタ抽出事故というものが存在することを実感しました。
マイクロソフトでも認識あるみたいです(フィルタが適用されている Excel 2007 ワークシートで非表示の行の上下に位置する行を削除または変更すると、非表示の行も削除または変更される)。
ホントにExcel2007だけの問題なのか、ちょっと確証がもてないですケド。
…では、こういう症状にならないために。
問題は、どうやらそもそもフィルタをかけるときから始まっているみたいなんですよ。
フィルタをかけるときに、ちゃんと表全体を選択してかければ、こういう症状は起こらない、みたいです(「表全体を選択してフィルタをかける」については「エク弱のための第3章」参照。表全体を選択する効率よいやり方については上のQ12参照)。
なので、この症状に悩まされている方は、まずフィルタのかけ方、見直しましょう。
…ですが。わたしはコレ↑ちゃんとやってるハズなんですが、上述の色塗れない問題が発生したことあるんですよ。
だから、絶対じゃないかもしれません。
では、どうしよう。
そういうときは、ジャンプ機能の可視セルだけ選択で対処しましょう。
まず、色を塗る場合から。削除フラグ「1」のところに色を塗りたい、とします。
まず、フィルタで「1」を抽出して、そこを選択します※3。
そうしましたら、Ctrl+Gでジャンプを呼び出し、「セル選択」へ※4。
それで、「可視セル」を選びます※5。
これで、選択が見えている(フィルタで抽出されている)セルに限定されます。
隠れているところは選択されません※6。
この状態で色を塗ればOK。
「1」のところだけ色が塗られます。
以上、「可視セル」を使うとフィルタで抽出したところ「だけ」厳密に扱える、ということがわかっていただけましたでしょうか。
…そうだった。
「1」のレコードだけ削除する方法も説明しないとね。
まず、上記ジャンプ→「可視セル」を使って「1」のところだけ選択します。
で、いったんフィルタを解除します※7。
「1」だけが選ばれていることを確認してください。
そうしましたら、選択されているところにマウスを合わせて(左クリックする必要はありません。左クリックするとせっかく「1」だけ選択したのが解除されちゃいます)右クリック→削除→行全体とします※8 ※9。
それでOK出すと、「1」のところの行がまるまる削除されますので。
以上です。
こういうことが起こるのはレアケースだと思うのですが、とりあえず、フィルタかけて削除をした後は、思い通りの結果になっているかをチェックするよう心掛けてください。
Q14.セルから文字がはみ出る…
長い文字列がセルからはみ出る…。 そんなときは、右クリック→セルの書式設定→配置で、 「文字の制御」のところの、「折り返して全体を表示する」にチェックを入れます※1。
そうしておいて、行番号のところにマウスを合わせ、ポインタが上下矢印のかたちになったらダブルクリックします。 これで、行の高さが自動調節され、文字列がすべて表示されます※2 ※3。
ただし!
「折り返して全体表示」で見えているのはあくまでもExcel画面上でのこと。
Excel画面上では見えていても、印刷すると文字切れを起こすので、印刷時には注意が必要です(VBA編導入を参照)。
ちなみに、縮小して表示することも可能です。
同じように、右クリック→セルの書式設定→配置で「縮小して全体を表示する」にチェックをいれます※4。
あ、そうそう、「縮小して全体を表示する」はいきなりはチェックできないことがあります。
一度「折り返して全体を表示する」にチェックを入れる→チェックを外す、という手順をふむと、チェックできるようになりますので。
…まあ、今回は小さすぎですけどね。
Q15.1行目を常に表示したい
ヘッダー行が常に見えていると、今自分がどこの列を触っているのか把握できて便利ですよね。 そういうときは、ウィンドウ枠の固定を使います。 1行目を常に表示したいなら、2行目の一番左をセル選択し、 表示→ウィンドウ枠の固定→ウィンドウ枠の固定とします※1 ※2。
2行目まで固定するなら3行目、3行目まで固定するなら4行目に、カーソルを合わせてくださいね。
また、解除も同様の手順です。
よく「フィルタを解除したら画面が固まった!」と騒ぐ人がいますが、
たいていはフィルタをかけた状態でウィンドウ枠の固定をするからです。
一旦解除してまた固定し直せば解決したりします。
ちなみに、なぜ1行目を固定するのに2行目を選択するのかというと、
固定する基準線が、カーソルの左と上にあるからなんですね※3。
だから、下↓のようにすると、ずーっと右に行っても「No」列が表示されるようになります※4。
Q16.印刷で、1行目を常に表示したい
ここからは印刷編です。
印刷が複数ページにまたがるとき、2ページ目以降にもヘッダー行を印刷したい。
そういうときは「タイトル行」を設定します。
やり方は、まず、ページレイアウト→ページ設定のところにある、「ページ設定」ダイアログボックスを開きます※1。
印刷関係の設定は、たいていここで行いますので。
「ページ設定」ダイアログボックスが開きましたら、「ページ」「余白」「ヘッダー/フッター」「シート」と4つあるタブのうち、一番右の「シート」へ。 そこにある「タイトル行」の、右のボタンを押してください※2。 印刷時に常に表示する行を選択する画面になります。
タイトル行の選択画面になりますので、常に表示したい行を選択してください※3。 今回はタイトル行:1行目のみとしていますが、もし1~3行目までを常に表示したい(例えば、3行目から表がはじまっている、とか)場合は、そのように選択してください。 選択できましたら、元の画面に戻って「OK」で、設定完了です。
Q17.印刷で、1ページ内に収めたい
Q16と同様、「ページ設定」から、今度は「ページ」タブへ。 そのなかの、「次のページ数に合わせて印刷」を選択します※1。 横も縦も「1」になっていることを確認してください。 これで、印刷が1ページに収まるように自動縮小されます。
けど、縦(行方向)に長いページで、縦は複数ページにまたがっても良いけど、横幅は1ページに収めたい、ってときもありますよね。 そういうときは、「次のページ数に合わせて印刷」で、横は「1」のまま、縦をblancにします※2。 これで、横幅を1ページ内に収めつつ、縦を複数ページにまたがって印刷することができます※3。 僕はコレを使うことがほとんどです。
Q18.ページ数を印刷したい
ページ設定→「ヘッダー/フッター」タブの「フッター」で、「1 / ?ページ」を選択します※1。 すると、ページ下部に「今のページ数 / 全体のページ数」が印刷されます※2。
関連情報として、例えばファイル名を印刷したいときは、「ヘッダー」の中から自分のファイル名を選択すればOKですので※3。 他にも、シート名や日付などを印刷することもできますので、好みに合わせてカスタマイズしてみてください。
Q19.全シートを印刷したい
シートが複数あるときに、そいつらを全部、一気に印刷したい。
そういうときは、印刷時の「設定」のところを「作業中のシートを印刷」じゃなくて、「ブック全体」にします※1。
「作業中のシートを印刷」だと、今さわってるシートしか印刷されません。
こうすると、何枚かあるシートが全部印刷されますので。
ただし!印刷設定はお済みでしょうか?
印刷設定ができていないと、初期設定の状態で印刷されてしまいますよ。
もし、全シート同じ印刷設定でよい、という場合は、次のQ20も参照してください。
Q20.全シートを同じ印刷設定にしたい
全シートに用紙サイズやヘッダー/フッターなど、同じ印刷設定を行いたいとき。
まず、Ctrlを押しながらすべてのシートを1コ1コクリックして、すべてのシートを選択します※1。
Shiftを押しながら一番左のシートをクリック→おしりのシートをクリック、でもよいですよ。
ここで選択したシートに、ページ設定が反映されますので。
そのうえで、ページ設定を行えばOKです。
もしsheet1・sheet3・sheet5だけ同じにしたい、という場合は、Ctrl選択でそいつらだけ選んでください。
設定が終わったら、どこかのシート1コだけをクリックして、全シートが選択されている状態を解除しておいてくださいね。
さもないと、何か文字を入力したとき全シート同じセル番地にそれが反映されてしまうので(「作業グループ」というのが設定されているからです)。
また、ページ設定をする際、印刷プレビューのところからページ設定してしまうと、結局1シートにしか設定が反映されない、ということが起こります。
なので、わたしがQ16で紹介しているやり方(ページレイアウト→ページ設定から行うやり方)で設定をお願いします。
あと、残念ながらタイトル行は手作業だと全シート一括設定できないみたいです…。
1コ1コやらなきゃいけないみたい…。