スポンサーリンク

【Excel/初心者】エクセル塾:フラッシュフィルってなんだ?

エクセル塾
スポンサーリンク
※当サイトは広告を含みます

エクセルとのおつきあいは??年、アラフィフパートのおばちゃんが僭越ながら開催しています、エクセル塾です。

前回はオートフィルをやりました。
【エクセル塾】連続データを自動入力オートフィル

今回は「フラッシュフィル」。古参のエクセルの使い手のワタクシ、名前は聞いたことがあるような気がするけど使ったことなかった。。。調べてみてほうほう~便利だ~、と、知らなかった自分がはずかしくなりました。

オートフィルと何が違うの?から、フラッシュフィルの使いどころ等、ご紹介します。

1.フラッシュフィルとは ~オートフィルとなにが違うの?~

フラッシュフィルって何?オートフィルの親戚?と思ったのですが、親戚っぽいけど結構違う、ということが分かりました。

オートフィルは、自動で連続データやコピーをしてくれる機能。

フラッシュフィルは周囲のセルから規則性を見つけてほかのセルにも自動適用してくれる機能

エクセルさんが、周囲のセルを見渡して「うーーん。これがこうだからきっとこうだ!」と自分で考えてくれるんですね。すごい!

いまいちイメージわきませんが、実際にやってみましょう!

2.フラッシュフィルのやり方

まず、一つの例でやってみましょう。

A列に氏名が入力してあります。姓と名の間には空白が一文字分入っています。これを姓と名に分けたいと思います。フラッシュフィルはこうゆうのが得意らしいです。

(1)リボンの「フラッシュフィル」ボタンを利用する方法

①A列に「氏名」があり、B列に「姓」、C列に「名」を取り出したいと思います。
まず、一番上の行だけ入力します。一番最初の「田中太郎」の行のB列に「田中」、C列に「太郎」と入力します(ここは自分で!)

②B列のセルのどこかを選択した状態で、リボン「データ」の「フラッシュフィル」ボタンをクリックします。

③すると!B列に「姓」が取り出しされました!
Excelが「空白の左の文字を出せばいいのね」と判断してくれたようです。

(2)ショートカットキーを利用した方法(Ctrl+E)

ショートカットキーでもできる!
(1)の例の続きでやってみましょう。

今度は「名」を取り出しします。
C列のどこかのセルを選択した状態で、CtrlキーとEキーを同時押しします。
それだけで!名前の取り出しが実行されました!

(3)オートフィル実行後にフラッシュフィルに切り替える方法

前回やったオートフィルのやり方の中で、オートフィル実行後に右下に「オートフィルオプション」ボタンが表示されていましたよね。そこからもフラッシュフィルを選択することができます。

(1)の例で、もう一度姓の取り出しでやってみましょう。

①セルB2を選択し、セル右下にマウスポインタを合わせて十字のフィルハンドルを一番下の行までドラッグし、オートフィルを実行します。

②オートフィル実行後、右下に表示された「オートフィルオプション」ボタンをクリック。
③「フラッシュフィル」をクリックして選択します。

④フラッシュフィルに切り替わって、姓の取り出しになりました!

フラッシュフィルは適用したい列のどこかを選択している状態であれば、できるようです。項目の行での大丈夫。ただし表の外になっちゃうとダメ。
フラッシュフィルができる状況でない場合は、リボンの「フラッシュフィル」ボタンがグレーになっていて押すことができません。
ちなみに、オートフィルと違って横方向はできないようです。

2.フラッシュフィルの使いどころ

どんな時につかえるかなあ、と例をいくつか考えてみました。

(1)電子メールアドレス

電子メールアドレスの@より前と後ろをそれぞれ取り出し。できました!

(2)郵便番号

郵便番号をハイフンより前、後ろで分ける。

できました!でも、「000」が0になってしまう。これを「000」にしたい。
なので、やり直し。1行目の例のところの「123」の入力を先頭にシングルクォーテーションをつけて「’123」としました。

できました!

では、逆にこれをくっつけてみましょう。

前3桁と後ろ3桁を頭〒記号、間にハイフンでくっつけます。最初の行にこうしたいんだ!という例を入力し、フラッシュフィル実行。

できました!

(3)電話番号

今度は電話番号でやってみます。桁数が違うけどうまく取り出しできるでしょうか。
またゼロ始まりがあるので、取り出しする列の書式を文字列にしておきました。

できました!ハイフンで分けてくれましたね。

3.うまくいかないこともある例

うまくいかなかった例、ちょっと工夫が必要だった例を挙げます。

(1)氏名を合体でエラーになったがオートフィルからの切り替えならできた

姓と名をつっくけるなんて当然できるでしょう!とCtrl+Eを押してみたら

パターンが見つからないというエラーが出た。(出ないでできるときもあるような気がする)

ドラッグして、オートフィルオプションからフラッシュフィルを選択、の方法でやってみたらできた。

変な話、エラーになる日とエラーにならずにすっとできる日があるような気がします。。。

(2)日付⇔数値 は書式がカギとなるようだ

日付(シリアルデータ)を数値にしてみよう!としたところ、残念な結果に。

日付の書式を yyyy/mm/dd と月、日の桁数をそろえてみたらできました!

今度は、日付(シリアル値)から年・月・日を取り出ししてみます。
yyyy/m/d日付はうまくいきましたが、今度はyyyy/mm/ddが残念な結果に。

数値の日付を日付データ(シリアル値)にしてみようとした。

とりあえず残念な結果に。
いままでの英知を集めて、書式をyyyy/mm/ddにして、その上2行目まで「こうですよ」と例を入力してやってみたところできた。

エクセルが予測するので、アタマから信じてはいけない。フラッシュフィルはやった後、必ず確認したほうがいいですね。

(3)半角や全角の違いなどあってもできるか検証

姓と名の間が半角のスペース、全角のスペース、スペース2こ、と不規則でもフラッシュフィルでわけられるか?
できました!

電話番号、半角と全角が入り混じっていても市外局番の取り出しができるか?
できました!

郵便番号、半角全角入り混じっている、〒記号があったりなかったりでも分割できるか?
できました!

(4)銀行、支店、県、等の文字列の区切りでは分割・・・は難しかった

〇〇銀行△△支店から銀行名だけ取り出したい。「銀行」で区切るのね、とエクセルさんは判断してくれるだろうか?

難しかったみたい。。。

ドラッグしてオートフィルオプションボタンから「フラッシュフィル」を選択して無理やりやってみたところ、「最初から5文字取り出せばいいのね」と判断されたようです。。。

ちょっと一工夫して、元データ列の「銀行」を「銀行 」(後ろにスペース一つ)に置換して、フラッシュフィルをかけてみた。

ある意味ズル(?)だができた。
どうやら、記号やスペースでないと分けるのはムズイみたいです。

4.フラッシュフィルのいいな、と思ったところ

  • オートフィルと違って、書式までコピーされない
  • 分けたりくっつけたり、関数でもできるけど、フラッシュフィルの場合「値」が入力されるので、関数でやった場合、値貼り付けしてからほにゃららとかすることを考えると、関数でやった時よりその後の扱いがしやすい。
  • 使いようによってはすごく便利!サッと使えたらかっこいい!

と、今回は以上になります。
自分でも勉強になりました。
お読みいただきありがとうございました。

エクセルをマスターしたい方にお勧めの書籍!

コメント

タイトルとURLをコピーしました