エクセルには、連続したデータを自動で入力してくれる、オートフィルという機能があります。
ですが、オートフィルはあくまでも、1,2と入力した後、3,5,6,7,8...というように、連続したデータを入力してくれる機能です。
オートフィルについて詳しい事はコチラの記事をご覧ください。
ですが今回紹介するのはオートフィルではなく、フラッシュフィルという機能。
フラッシュフィルというものが何者なのか、どういう事ができるのかを紹介していきます。
フラッシュフィルとは
そもそもフラッシュフィルとは何者なのか、マイクロソフトサポートの文章を読んでみましょう。
難しい設定が必要ないので、関数とか数式にアレルギーがある方にも勧めやすいです。
というより関数とか数式大好き人間は自分でガチャガチャ組みたがるので、むしろフラッシュフィルを避ける傾向がある気がします。
後で書きますが、これがメリットでもあり、デメリットでもあるのですが。
実際使ってみる
どういう事ができるのか、どうやって使うのか、実際に使ってみましょう。
お題
今回は下記の2つで実験していきます。
- 空欄で区切られた文字列を、セルで分割する
- 11ケタの値を、3ケタ-4ケタ-4ケタのようにハイフンで区切る
要するに、氏名を氏と名に分割、携帯電話番号をハイフンで区切るという事です。
1つ目だけ手入力
自動でルールを判断してくれるとはいえ、何の情報も無しには判断してくれません。
ですので、1つ目のデータだけは自分で手入力する必要があります。
フラッシュフィルで自動入力
ルール判別用に1件だけ入力したら、あとはフラッシュフィルが自動で入力してくれます。
先ほど手入力した1件目のデータ(C3のセイウチ)を選択したら、ホームタブの編集グループにあるフィルから、フラッシュフィルを選択しましょう。
ちなみにCtrl+Eがショートカットキーですので、1件目データ選択してからCtrl+Eを押すだけでもOKです。
すると、以降のデータが自動で入力されます。
これでまずは氏名の氏が完成しました。
あとは同じように、名、ハイフンつきの列もフラッシュフィルで自動入力するだけで完成です。
この時、エクセル慣れしてると、つい欲張って複数セル(複数列)まとめてフラッシュフィルしたくなりますよね。
ですが、複数列まとめてフラッシュフィルしようとしてはいけません。(というより出来なくなってます。)
ちょっと面倒ですが、1列ずつフラッシュフィルしていきましょう。
弱点を理解して使おう
さて、話は少し戻りますが、上のほうで難しい設定が必要ないので、関数とか数式にアレルギーがある方にも勧めやすいが、それがメリットでもありデメリットにもなる。と書きました。
どういう事かというと、自動でルールを判別してくれるという機能はとても便利なのですが、あくまでも自動で判断されているので、自分が思っていたルールと解釈が一致しない場合があるのです。
例えば氏名を氏と名に分割するという法則。
これは使ってる人がそう思っているだけで、機械側では、空欄を見つけたら分割してるだけなんです。
つまり、セイウチ 太郎は分割できても、空欄が挟まっていないセイウチ太郎は分割できないという事です。
じゃあ元データから空欄消せばいいじゃんって思うかもしれませんが、それだと今度は、先頭4文字とそれ以降に分割するというルールになってしまい、他のデータがボロボロになります。
他にも、ミドルネームが入ってくると、ミドルネーム部分は無視されてしまうなど。
このように、思ったとおりの結果にならない事があるため、フラッシュフィルで自動入力したから間違えは無い!と過信せず、結果はちゃんと自分の目で確認しましょう。
空欄で分割の他に、改行を無くすようなフラッシュフィルでも事故が起きやすいので気をつけましょう。
まとめ
フラッシュフィルとは、オートフィルのように連続データを自動入力するのではなく、周囲を見て空気を読んで自動入力してくれるけど、たまに空気が読めない時もあるので、クセを理解して使おうねっていう機能。
元になるデータが整っていれば、とても便利な機能です。
反面、桁数が違ったり、分割数が不安定だったりすると、思ったような結果になりません。
また、どういう場合に使えるのか、使えないのかの判断は、一口には言いきれないので、とにかくフラッシュフィルを遊び倒して、感覚で判断できるように経験値を高めていきましょう。
慣れると便利だから。ほんと慣れると便利だから。
コメント