計画 実績
----------------------------------
線形代数 〇
PAD 〇
Python ×
<本日の結論>
同じ会社で働いている者同士と思うとイライラすることもある。
私は「株式会社楽々人」の営業担当で相手はお客様と思えば素直に「何かお役に立てることはありますか?(May I help you?)」というスタンスになれるかもしれない?
試そう。
---
どうしてそういう結論になるのか?
4月から定年後再就職。仕事は変わらない。「かつて本部長、執行役員だった」にしがみつき「最近の社内はなっていない」「こんなことも知らないのか」「これまでの経験を生かしてもらおう」等と親切心で「ああしたほうがよい、こうしたほうがよい」と語ってもむしろ反感を買っている。これはもう老害。人は自分の思うようにやってみて出てきた結果から学ぶもの。その方が素直に学べて成長する。だとすると我々のすべきはそれがうまく進むように役立つ道具になること。「道具」にたるスキルを継続的に磨くこと。
4/21、望(WebMarketingコンサル、個人事業主)と優(AI開発、大学院中退して4月から個人事業主)との食事会(飯田橋のjiubar)での会話。「顧客を獲得するためには自分の売り込みをしない。どんな相手でもひたすらうなずきながら聞く。相手が興味を持てそうな内容で自分にできることがあれば一言二言話す。それがきっかけになることもあるしそうでないこともある。ただ自分の商品や考えを話すだけでは全く耳を貸してくれない」と。「七つの習慣」でそれを学んだという(早速注文)。
これまでは、社内で生活のリスクもない中で30数年ぬくぬくと生きてきたので「言いたいことを言いたいように」言ってきた。それでもクビになるわけでもなく、そこそこの給料を得ることができていた。しかしその結果、気安く話せる仲間もおらず、「仕事の実力は認めるけれどもできれば一緒に仕事はしたくない」と煙たがられる存在。これではお互い、というよりも私が幸せになれないではないか!
Win・Winの追求、継続、その中で自分を活かすように仕事も生活もしていきたい。「老いては子に従え」ではないが「老いては子から学べ」で活かしていきたい。
※老いては子に従え…三従(幼少時は父兄に、結婚したら夫に、夫の死後は子に従うこと)の一つで、仏教や儒教の教えとして、女性が守るべきものとされていたもの
☸ 悩み
老いもあり、また元々記憶は非常に苦手だったこともあり記憶は学習の難題だ。
しかし、忘れるということは時間効率が悪くできるだけ改めて覚える、何度も調べるということはしたくない。スマートではない。
☸ 解決法として試してみること
記憶法の類は今学習していることとの関係でいうとあまり参考にはならない。
結局、理解する→自ら体系的に整理する(これが記憶の材料になる)→使ってみるということを繰り返す中で覚えていくことが基本かと思う。
その中でエビングハウスの忘却曲線(復習)は重要だ。理解した、整理した、使ってみた時は定着の最大のチャンス。この時にその効率を高めるにはエビングハウスの忘却曲線(復習)が有益だ。
理解する(ノート)、整理する(チートシート)、使ってみる(実際のプログラム等)を作ったら1日以内に10分、一週間以内に5分、一か月以内に数分復習すると記憶は定着する。王道だが実践してこなかった。
☸ 実際にどのように行うか?
覚えることのクリップ止めと言ってもそうしたものをわざわざ作る必要はない。
ノートの該当箇所を蛍光ペンで囲む、プログラムなどはコピー・プリントアウトするでよい。それを復習する。
早速、今日から実践だ!
ここまで<表A>のデータと<表B>のデータを結合させて結合.xlsxというファイルで表示しました。これだけであればCtrl+C、Ctrl+Vでコピペすれば済む話です。わざわざPowerQueryを使ったのは<表A><表B>のデータが変わったら、結合させた表も連動させて更新できるからです。
では、それを確認してみましょう。
<表A>を一行追加しました。
<表B>の4番目のデータの出身、身長、体重を変更しました。
結合.xlsxファイルのデータタブから「すべて更新」をクリックしてください。
すると下のようにデータが更新されていることがわかります。
<更新前のデータ>
<更新後のデータ>
以上で【PowerQuery】使ってみました!は終了します。
ありがとうございました。
ここまでで元データ1.xlsxファイルにある<表A>、元データ2.xlsxファイルにある<表B>が結合.xlsxファイルで操作できる状態になりました。ここからは<表A>と<表B>を結合する手順を説明します。驚くほど簡単です。
1)下のように「結合」を選ぶと追加ダイアログが開きます。
↓
2)今回は<表A><表B>の二つのテーブルを連結するので下のように入力して「OK」ボタンを押します。
※「3つ以上のテーブル」を選ぶと下のようになります。
3)PowerQueryエディターが起動し下のように表示されます。この段階ですでにデータが結合されていることがわかります。同じ名前の見出しを持つ列を自動的に判別して結合されています。
2)このクエリーを保存します。まず「閉じて次に読み込む」を選びます。
3)結合したデータをテーブルとして取り扱いたいので下のように入力します。「データを返す先を選択してください」には結合されたデータを表示させる範囲の左上のセルを入力します。今回は結合.xlsxファイルのSheet1のA1セルを指定しました。「OK」ボタンを押します。
4)EXCELのワークシート上に結合されたデータが表示されました。
これで完了です。あとはこの表を煮るなり焼くなり皆さんの好きなように理解してください。
次回最終回では、元データファイルの変更を結合ファイル.xlsxに反映しているかどうかを確かめます。
次に<表B>も同様に結合.xlsxファイルに接続します。手順は<表A>と全く同じですが<表A>に合わせて<表B>に「BMI」列を作る必要があります。その手順を説明します。
※BMI=身長(m)÷体重(kg)÷体重(kg)
1)「列の追加」タブに移動し「カスタム列」を押します。
↓ (下のような画面が開きます)
2)下のように「新しい列名」「カスタム列の式」を入力して「OK」ボタンを押します。「カスタム列の式」を作成するときはその右側にある「使用できる列」も使えます。
3)表の一番右側に新しい列「BMI」ができました。
※「BMI」列を移動したいときはドラッグアンドドロップで好きな位置に変更できます。
※小数点は見出しの「BMI」を右クリックして下のように四捨五入します。
それぞれの接続(クエリー)にはこれまでシート名がついていました。わかりやすいように表A、表Bに変更しておきます。
<表B>も<表A>同様に保存します。
「データを取り込む」というのは、「結合.xlsx」と「元データ1.xlsx」「元データ2.xlsx」とがつながった状態にすることです。ただつながっているだけでなく
①<表B>に不足している「BMI」欄を補う
②見出しの「背丈」と「身長」を同じものと認識できるようにする
という加工もここで行います。この作業を行うと<表A><表B>の変更が結合した表に反映するようになりますし、<表A>と<表B>を結合する作業も行えるようになります。
以下が実際の操作手順です。
1)「結合.xlsx」ファイルを開けます。
2)「データ」タブを選びます。
3)一番左側にある「データの取得」を選び、「ファイルから」→「ブックから」と選択していきます。
4)ダイアログで「元データ1.xlsx」を選択し「インポート」ボタンをおす。
5)「ナビゲーター」というダイアログが開くので<表A>があるSheet1を選びます。
すると右側にデータが表示されます。そのあとで「データの変換」ボタンを押します。
6)下のように「PowerQueryエディター」というものが開きます。このあたりで少し頭が混乱し始めますが、まずは手で覚えた方がよいと思います。作業を続けましょう。
見かけない表が出てきたので少し冷静に観察してみましょう。
①表見出し部分(1行目のさらに上の行)には「Column1」「Column2」とか勝手な名前がついています。今の段階ではどれが見出しなのか指定されていないので仮の名前がついていると思ってください。
②「Column1」「Column2」には「ABC123」とか「ABC」等が表記されています。これは「EXCELがこの列は数値だと認識しました」ということを表しています。
③それから<表A>にあったA列、B列の余白部分がなくなっています。これは余計な作業がなくて便利です。
④<表A>の空白のセルには「null」と表示されています。これは空白セルであることを明示的に示しているだけで「null」という文字列が入ってしまったわけではありません。
1)まず下のように不要な行を削除してきれいな行×列のデータ形式にします。具体的に言えば下の赤囲みの1、2行目を削除して、青囲みの3行目を見出しに使いたいわけです。
2)赤囲みの1、2行目を削除…するには「行の削除」→「上の行の削除」を選びます。
3)上の2行を削除したいので…行数に「2」と入力して「OK」ボタンを押します。
4)そうすると先ほどの1,2行目がなくなっています。念のためですがこれによって「元データ.xlsx」の1、2行目が削除されたわけではありません。不都合な行を見えないようにしてくれただけです。
1)次に青囲みの行をこの表の見出しにしたいので「1行目をヘッダーとして使用」を選びます。
2)これで必要なデータだけが行×列のきれいな形で扱えるようになりました。
3)表Aの見出し「背丈」を「身長」に変更します。見出しの「背丈」をダブルクリックして「身長」に変更してください。
↓
1)ここからはこれまでの諸手続きを保存する手順です。Power Queryエディターの右側にここまでに行った作業の手順が表示されています。この手順を毎回自動的に実施するために、この手順を保存します。そうすると<表A>のデータが更新されても結合.xlsxには毎回最新のデータを読み込むことができるようになります。
2)接続(クエリー)にはこれまでシート名がついていました。わかりやすいように「表A」に変更しておきます。
3)「ホーム」」タブから下のように「閉じて次に読み込む」を選びます。
4)「データのインポート」ダイアログで「接続の作成のみ」を選び「OK」ボタンを押します。
以上で<表A>が結合.xlsxとつながりました。
私、決してExcelのパワーユーザーというわけではございません。
この間、気になっていたPower Query。「データの取得と変換」。
これって実務で結構使えるのでは?とぷんぷん匂う。
そこで一日いじってこんな風にできたということをメモっておきます。何かのご参考になればと思います。尚、確実にお伝えするために少し冗長な書き方をしています。お許しください。
表Aと表Bを結合して一つの表にしたい。
きれいなテーブル形式のデータならやりやすいですが、現実にはそうでないことが多いので、
①4行目までは作業に使用しない行が含まれている
②不要な列も含まれている
③表Aと表Bで見出しが一致しない(表記が違う:「身長」と「背丈」、「BMI」欄の有無)
という条件にしました。
使ったデータ、これから作りたい表は下のようです。
<表A>を含む「元データ1.xlsx」、<表B>を含む「元データ2.xlsx」、<表A>と<表B>を結合した表を作る「結合.xlsx」という三つのファイルを使います。
もちろん<表A><表B>のデータが更新(追加・削除・変更)されたら結合した表も更新されるようにします。