Excelを勉強しましょう EnjoyExcel

アイコンの機能や関数の説明、VBA初心者向けの勉強方法について情報掲載しています。関数、VBAともに理解が進むように出来るだけ事例を交えて説明しています。

動画有フラッシュフィルで名字だけ取り出したい 関数より便利な機能

f:id:EnjoyExcel:20210628231531p:plain

フラッシュフィル 関数より便利な機能です

 

Excelといえば関数ですが今回は関数を使いません。たった1クリックで夢のような事を実現出来る機能があります。フラッシュフィルです。以降で解説していきます。

 

 

私非IT企業の一般社員です。Excelによって年間1,000時間以上の業務改善を行ってきました。別のブログになりますがプロフィールを最後に載せておきます。後程ご覧ください。

依頼内容

先日こんな話をいただきました。「名簿の名前の中で名字(苗字)だけ簡単に取り出す事は可能でしょうか・・・」名字と名前を分ける必要がある様です。多分無理なんじゃないかという感じで質問いただいたのですが出来る可能性があります。

 

このような質問があるという事はセルの中にある情報としては以下のようなものが推測されます。

データの確認

  1. 名字と名前が連続して入力されている。(氏名が結合されている状態)
  2. 名字+スペース+名前というようにスペースで区切られて入力されている。(氏名がなにかしらの情報で区切りがあり分割されている状態)

 

名字と名前が別セルに入っている人はそもそも依頼してこないのでおそらく事例としてはこれぐらいかなと思います。

ポイント

ここでフラッシュフィルが成立するかどうかのポイントは1つ。「名字と名前の間にスペースや_等決まった情報が居るかどうか」です。

 

居なかったら諦めます。(ごめんなさい)でも80%ぐらいの信頼性で作業は可能ですので肩を落とした方が居ましたら諦めず読み進めてください。

 

スペース等決まった情報が居たら勝ったようなものです。ちなみにメルアドの@より前と後ろで情報を分けたい時は@が居るのでこの機能を知ってたら瞬殺です。簡単に取り出せます。当たり前ですが名字が出来るなら名前だけという行為も可能です。

作業に移ります

アイコンの説明

フラッシュフィルという機能を使います。キーが稲妻マークですね。実行すると選択されたセルに必要な情報が一瞬で入ります。Enterとかいらないです。ボタン押したら自動でデータが入りますのでびっくりすると思います。

f:id:EnjoyExcel:20210514153444p:plain

「データ」タブの中にある「データツール」に居ますね。処理に対する効果のハードルを結構上げてしまいましたが言い過ぎてないと思います。動画をご覧ください。

動画で操作を説明

使い方は以下データを参照ください。データ内の情報は個人情報にみえますが疑似データです。動画の画質が悪い時は解像度を調整してみてください。B列の名字が苗字になってますがスルーでお願いします。

youtu.be

 

  1. セルB6にセルA6にある滝さんの名字である滝だけ書きます。
  2. セルB7にカーソルを持っていきます。
  3. 「フラッシュフィル」ボタン、もしくはショートカット「Ctrl+E」 を押します。
  4. 連続したデータの最後まで文字列に対して同じ処理を繰り返します。

 

セルB6でやったことはセルA6の文字に対してスペースより前(左側)を入力したことになりますよね。フラッシュフィルはその処理を記憶して自動的に同じことをやってくれるという便利な機能です。

 

ただし冒頭にも申し上げましたようにスペース等決まった情報がないとうまく認識してもらえません。名字が1文字の人もいれば3文字の方も居ますよね。

 

問合せいただいた方は名字と名前の間にスペースがあったので何とか対応できました。スペースが無かった人でも先頭2文字だけ切り分けて抽出する等おおよその作業は簡単に出来るのでその後見直せば最初からやるよりは簡単に作業出来ると思います。

 

先程「80%程度の信頼性で・・・」と書いたのはこのことです。エクセルさんは毎回100%を求められますがここは辛抱しましょう。

 

ちなみにかっこの中の文字もフラッシュフィルで取り出せます。以下リンクをご覧ください。字幕付きの動画出しておきました。活用いただけると嬉しいです。

enjoyexcel.hatenablog.com

かっこの中は関数でも取り出せます。以下リンクをご覧ください。関数を書き出して1つの画面で説明しているので分かりやすいと思います。

enjoyexcel.hatenablog.com

まとめ

Excelにはあまり知られていませんがすごく便利な機能がたくさんあります。今後はフラッシュフィルで簡単に抽出来る様な形(型)でデータを持つ事を考えながら作業すると良いかもしれません。

 

名前も「オート〇〇」とかじゃなくて「フラッシュフィル」ですから。「その作業フラッシュフィルでやったら」って言いたいですよね。

 

最後に少し加筆させてください。具体的にどうやってデータを持てば良いかについて少し説明しておきます。一言でいうと情報自体が規則性を持っているかどうかです。規則性が無いものは別セルに記入するべきです。

 

今回のような名字というのは同じ属性なのですが持っている文字数は様々です。これは規則性が無い情報という扱いになります。よって名字と名前は別のセルに入力するべきです。

 

メールアドレスも文字数がバラバラですので@前と後で分けた方がよいです。

 

旅行を予約する時等Web画面で情報を入力した事ありますよね。名前やメルアドを入力すると思いますが入力する枠って名字と名前、@より前と後等分かれていることが多いと思いませんか。

それはその後でデータを使って色々な操作や処理をする際に扱いやすいからです。ある程度リカバリー出来る機能があるとはいえ今回の依頼の様に規則性のない情報を後で分けるのは大変です。

 

メルアドは必ず@が居るので後から何とでもなりますが名字と名前は相当大変です。

 

最近の入力フォームは住所も一括で入れさせてくれませんよね。郵便番号である程度住所が埋まるというものもあります。あれは入力する人を助けている様ですが実は入力先が助かっているわけです。

 

例えば〇〇県一帯の人は△△に旅行する数が多い等分析にかけるときに使われています。自分が作業すると思ったらあらかじめ都道府県で分けてあるデータの方が楽ですよね。

 

質問に来た方は最初は1つのセルに名字と名前を一緒に入力していたのですが後になって扱いに困り名字と名前を分けたくなったという事かもしれませんね。5件、10件のデータならまだしもたくさんあると大変です。サクッと作業が出来たので安心して笑顔で帰られましたよ。

 

プロフィール

プロフィールはこちら

最後に冒頭で申し上げました私のプロフィールを載せておきます。別サイトでプログラミングの勉強方法について解説していこうと思っております。記事はまだ少ししか無いですがデータを添付出来たりするので便利ツールを作ってアップロードしていこうと思っています。ご興味ありましたら登録お願いします。