エクセル>パワークエリ
ーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーー
◆「クエリ接続」と「外部データ接続」の違い
・同じところ
⇒更新可能。但し、外部データ接続時には更新時のファイル名の確認有無を設定可能
⇒更新時の列幅変更可否を設定可能
・違うところ
⇒外部データ接続は単純に取り込む感じだが、クエリ接続時はデータ変換しながらの取り込みが可能
⇒クエリ接続の場合、接続後に自動的にテーブル化してくれる
・使い分け
⇒自分結論だと、外部データ接続は古い機能であり、クエリ接続が新しい機能
⇒つまり、外部データ接続は不要で、クエリ接続だけ習得すれば良いな(*^_^*)
◆データの取り込み
01)フォルダ内の複数のCSVを結合したい時
・各CSVファイルの列名/列順/列数が一致しているなら何の問題もない(当然だね)
・列名に違いがあった場合
⇒基準CSVファイルで定義されている列名がない場合、そのCSVは読み込まれるが該当箇所はnullになる
※「基準ファイル」...「ファイルの結合」ウィンドウの「サンプルファイル」で選択されたファイルが基準ファイルになる
・列順に違いがあった場合
⇒列名が一致していれば列順が違っていても全く問題無し(列順が同じ時と全く同様に取り込まれる)
・列数に違いがあった場合
⇒列数は、どのCSVファイルを基準ファイルに指定したかで決まる。
⇒基準ファイルの列数が4、その他のCSVが5列であった場合、全ファイルともに4列目までしか取り込まれない
・ある日突然誰かが読込み元のCSVファイルの列を増やした場合
⇒末尾への列の追加は問題なし。(末尾の列が取り込まれないだけ)
⇒途中への列の追加は問題有り!
⇒取り込む列数は変えられないから、必要な列が取り込まれないことになる!
⇒取り込み時にパワークエリが「必要な列が無い!」と怒り狂う!
・実業務を踏まえると
⇒フォルダ内のCSVファイルがきちんと整備されたものの場合
⇒パワークエリで、フォルダ指定で一気に結合することができそうだね(*^_^*)
⇒フォルダ内のCSVファイルが全く整備されていない場合
⇒フォルダ指定ではなく、CSVファイル単位でパワークエリで取り込んでデータ変換してから結合だね(>_<)
◆日付変換
・(Excelドカタ)https://youtu.be/F6H2hBCsLgk
⇒日付を示す多種の文字列を日付型に変換可能
⇒日付のシリアル値が数値型の場合は日付型に変換できるが、テキスト型のシリアル値の変換はエラーになる
⇒パワークエリを使えば、日付型の列から曜日を簡単に導き出せる
⇒
◆(森田貢士)再生リスト>PowerQuery(パワークエリ)
・https://youtube.com/playlist?list=PL216t2nAReywUdV1ZJ7wzmF-SFEhNY4jX
・現在勉強中
00) パワークエリとはどんな機能か?(学習済)
⇒step1>データ収集(パワークエリの範疇)
・データ取得
・データ接続
⇒step2>データ整形(パワークエリの範疇)
・データ変換
・データ転記
・データ結合
・レイアウト変更
⇒step3>データ集計(他ツールの範疇)
⇒step4>データ分析(他ツールの範疇)
01) ブック内のテーブルからデータを取得する(学習済)
02) 別ファイル(.txt/.csv)からデータを取得する(学習済)
03) 別ブックからデータを取得する(学習済)
・ナビゲータダイアログでブックを示すフォルダを選択すれば、テーブルの連結(縦結合)が可能
・パワークエリエディタの「kind列」のフィルタで「Table」を選択する
04) フォルダー内の複数データを取得する(学習済)
・Fileの結合ダイアログで、フォルダを示す「パラメータ」フォルダを選択すれば、テーブルの連結(縦結合)が可能
・パワークエリエディタの「kind列」のフィルタで「Table」を選択する
05) データクレンジングの基本13のテクニック(学習済)
・データ不備の修正
⇒表記ゆれの修正(①値の置換、②大文字小文字変換)
⇒誤入力や入力漏れの修正(③トリミング、④クリーン、⑤フィル)
・不要なデータの削除
⇒不要な行列の削除(⑥列の削除、⑦フィルター、⑧上位下位の行を削除)
⇒重複データの削除(⑨重複の削除)
・データ型の変更(⑩データ型の変更)
・データの抽出/分割/統合
⇒データの抽出(⑪抽出)
⇒データの分割(⑫分割)
⇒データの統合(⑬統合)
06) データ転記・連結
・データ転記...主キーをもとにテーブルを横結合する
⇒「クエリのマージ」を使う
・データ連結...別表にまとめられた同じ形式のテーブルを縦結合する
⇒「クエリの追加」を使う
・メルマガに登録した
・エリミの部屋にもブログのパスを掲載中
・森田貢士のYoutubeを見て学んだこと
01) 重複行の削除時は、重複の先頭行だけが残る。(下行の重複を残すには技がいるっぽいね)
02) パワークエリのデータを取り込んだら、必ず各列のデータ型を確認し必要であれば型変換すること!
03) 不要な行は、「削除」するのではなく「フィルタ」する
04) セル内の邪魔な改行は「クリーン」で除去できる。
05) トリミングは、先頭と末尾の空白(半角と全角)を削除する、単語途中の空白は削除されない。
06) 抽出時は、全角と半角のスペースが区別される。※トリミングの時は区別されなかったのにね(>_<)
07) 分割時は、全角と半角のスペースが区別される。※トリミングの時は区別されなかったのにね(>_<)
8)
・ああああ
◆(Excelドカタ_千葉悠市)パワークエリの便利機能TOP10
・https://youtu.be/F6H2hBCsLgk
・この人、賢いかも...マクロやVBAを使わずクエリの活用に特化しているようだ
・Twitterをフォローした
・データソースにフォルダを指定した場合、直下じゃなくてサブフォルダがあっても問題ない。
・データソースがフォルダの場合は下記注意が必要
まだエクセルにコピペしてるの?【Excel データの取得と変換 PowerQuery クエリ】
https://youtu.be/Nl-sZzLxpzU
1) 複数のCSVを結合するのが目的の場合
各CVSファイルのフォーマットが揃っている必要がある。(列数、列名が同じであること)
列名が異なるCSVファイルは、取り込まれるが、列名が一致しない部分は null になる
2) 複数のExcelブックを結合するのが目的の場合
シートから取り込む場合は、各ブックにおいてシート名が同じである必要がある。
Tableから取り込む場合は、各ブックにおいてTable名が同じである必要がある。
◆(Excelドカタ_千葉悠市)はじめてのエクセルパワークエリ 基本をこの動画にすべてつめこみました
https://youtu.be/ya5X9_YC3u0
・フォルダを選択した場合に、フォルダ内の不要なファイルを抽出対象外にする手順有り(13分30秒近辺)
→フィルタ機能を駆使し、目的のファイルだけが選択された状態を作ればよい
→例えば、「拡張子でフィルタ」したり「ファイル名に含まれる特定の文字列でフィルタ」したり
・型変換でエラーになった場合の対処法二つ(23分近辺)
→「値の置換」で例えば「0」に変える。(テキスト型から数値型に変換した時のエラーの場合)
→「エラーの削除」を行う。この場合、その行は削除される事に注意すること。
・テキストの数字連番の先頭の「0」を加えて、その後、文字数4に揃えるやり方有り(25分近辺)
→「プレフィックス」+「抽出」の技あり手順だね(アイディアって大事だね)
・
エクセル>ショートカット
#エクセル
・shift + space ... 行の選択
・ctrl + space ... 列の選択
・ctrl + -(マイナス)... 行の削除
・ctrl + +(プラス)... 行の挿入
・ctrl + ;(セミコロン)... 日付の入力
・ctrl + :(コロン)... 時刻の入力
・ctrl + d/ctrl + r ... フィル下/フィル右
・ctrl + `(アクサン グラーブ)... セルの値と数式の表示の切り替え
★ctrl + t 又は ctrl + l(小文字エル) ... テーブルの挿入
・ctrl + k ... ハイパーリンクを追加
★ctrl + L(大文字エル)... フィルターON/OFF
★ctrl + Enter ... 一括入力・他
⇒https://youtu.be/hGHCNFGt_hw
⇒複数セルを選択して、複数セルの一括入力。
⇒アクティブセルが移動しない。
⇒Ctrl+Enterは数式のみコピーする。フィル(Ctrl+D)は書式もコピーする。
・alt + = ... SUM関数の挿入
★alt + ;(セミコロン)... 可視セルのみ選択
⇒https://8oclockis.blogspot.com/2020/09/aretherehiddencellsinexcelsheet.html
⇒https://dekiru.net/article/16426/
⇒Excelのメニューやコマンドで非表示があるか調べる方法はない。
⇒「Alt+;(セミコロン)」、又は、「Ctrl+g」でジャンプ画面を選択し「可視セル」を選択する。この時、仮に非表示の行や列があれば「白い線」で表示される。
・shift + F3 ... 関数の挿入
・shift + F8 ... 選択範囲を追加する
★shift + F10 ... ショートカット メニューを表示する
・F10 ... メニューバーをアクティブにする
★ctrl + alt + v ... 「形式を選択して貼り付け」ダイアログの表示
・alt + w + f ... ウィンドウ枠の固定/解除
・ctrl + y ... 直前の操作を繰り返す
★ctrl + { ... 選択範囲の数式が直接又は間接的に参照する全てのセルを選択
⇒ジャンプ画面の「参照元」選択時と同じ動作
★ctrl + } ... 選択範囲のセルを直接又は間接的に参照する数式が入っている全てのセルを選択
⇒ジャンプ画面の「参照先」選択時と同じ動作
■関連HP
・Excelのショートカットを徹底紹介!定番のものから覚え方まで
⇒https://www.manpowerjobnet.com/haken_guide/improving-skills/excel-shortcut/
・エクセルの神髄>Excelショートカットキー一覧
⇒https://excel-ubara.com/EXCEL/EXCEL901.html#sec91
エクセルをスマートに使おう
■VBA
VBA基本(VBAって何?[=「マクロ」?])
■関数一覧
COUNT関数 ... 数値/日付/時刻が入っているセルを数える
COUNTA関数 ... 値が入っているセルを数える
COUNTIF関数 ... 特定の文字が含まれているか?
- 特定の文字が含まれているか? ...「=IF(COUNTIF(B3,"*県*")=1,"○","✕")」
MOD(数値、除数)... 余りを求める
関連HP
■TIPS
フィルターを使いこなそう!
- 何も考えずにフィルタした場合は、「その文字を含む」データを抽出する。しかし、実はワイルドカードが使える
- 「田中」... "田中"を含むデータを抽出(※1)
- 「*田中*」... "田中"を含むデータを抽出(※1と同じ結果になる)
- 「田中*」... "田中"で始まるデータを抽出
- 「*田中」... "田中"で終わるデータを抽出
- 「?田?」... "3文字の名前で、2文字目が田"のデータを抽出
- 「*」や「?」のエスケープは「~(チルダ)」を使う
----------
(書式)
- セル範囲.AutoFilter Filter := 何列目, Criteria1:="抽出文字列"
(使用例)
- Range("B2").AutoFilter Field:=2, Criterila1:="田中" ...セル内が"田中"を抽出
- Range("B2").AutoFilter Field:=2, Criterila1:="田中*" ...セル内が"田中xxx"を抽出
- Range("B2").AutoFilter Field:=2, Criterila1:="*田中" ...セル内が"xxx田中"を抽出
- Range("B2").AutoFilter Field:=2, Criterila1:="*田中*" ...セル内が"x田中x"を抽出
- Range("B2").AutoFilter 2, "田中" ...短縮した書き方
(複数条件)
Sub 抽出1()
Range("B4").AutoFilter _
2, _
"*" & Range("A1") & "*", _
xlAnd, _
"*" & Range("A2") & "*"
End Sub
----------
フィルタ抽出時のコピペ
- フィルタされた状態で表の連続セルをコピーした時は、表示されていない行のデータはコピーされないので全く問題無し
- フィルタされた状態で「ctrl + enter」で連続セルにデータを一括入力した時は、表示されていない行にはデータが入力されないので全く問題無し
- セル1個を「ctrl + c」でコピーしたものを、フィルタされた状態の連続セルに「ctrl + v」(書式付き)でペーストした時は、表示されていない行にデータはペーストされないので問題無し
- セル1個を「ctrl + c」でコピーしたものを、フィルタされた状態の連続セルに「ctrl + v」(値のみ)でペーストした時は、表示されていない行にデータがペーストされるので問題有り。しかし、ペーストする前に「可視セルのみ選択」しておけば表示されていない行にはデータがコピーされないので全く問題無し
- 連続したセルを「ctrl + c」でコピーしたものを、フィルタされた状態の連続セルに「ctrl + v」(書式付き)でペーストした時は、表示されていない行にデータがペーストされるので問題有り
- 連続したセルを「ctrl + c」でコピーしたものを、フィルタされた状態の連続セルに「ctrl + v」(値のみ)でペーストした時は、表示されていない行にデータがペーストされるので問題有り
-
全ての図形を選択するには?
- (方法1)マウスで図形一つを選択後に「Ctrl+a」で選択できる
- (方法2)ジャンプ画面のセル選択でオブジェクトを選択する
ジャンプ画面の活用(条件付き書式/データの入力規則/アクティブ列との相違)
- 条件付き書式の設定違いは、一見では見つける事ができない
- データ入力規則の設定違いは、一見では見つける事ができない
- 計算式の設定違いは、一見では見つける事ができない
計算式中の参照元を変更できる「カラーリファレンス」
選択している“セル”や“行・列”を見やすくハイライト(強調)
- シート内の全てのセルに対して条件付き書式を設定する。「=CELL("row")=ROW()」(選択した行)
- ThisWorkbookにコードを追加する Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.ScreenUpdating = True End Sub
セルの表示形式「ユーザ定義」
- 「@」... セルの値を文字列としてそのまま表示する
- 文字列を付加するには「二重引用符(”)」で囲み「"文字列"」とする。連結演算子の「&」は不要。
- 円記号(¥)、プラス(+)、マイナス(-)、カッコなどの記号は「二重引用符(”)」で囲まなくてもよい。囲まなくてもよい記号は次のとおり。
[ \ ]...円記号
[ $ ]...ドル記号
[ + ]...正符号
[ ( ]...左かっこ
[ : ]...コロン
[ ^ ]...キャレット
[ ' ]...アポストロフィ
[ { ]...左中かっこ
[ < ]...小なり記号
[ = ]...等号
[ - ]...負符号
[ / ]...スラッシュ記号
[ ) ]...右かっこ
[ & ]...アンパサンド
[ ~ ]...チルダ
[ } ]...右中かっこ
[ > ]...大なり記号
[ ]...スペース文字
- 「@」をそのまま表示するには、「"@"」または「!@」とする。びっくりマーク(!)をそのまま表示するときは「!!」とする。(「!」は書式記号文字をエスケープする)
- アスタリスクと半角スペースの組み合わせ(* )でスペースの連続を表すので、左端にあれば右揃え、右端にあれば左揃え、途中にあれば左右に分けた両端揃えを表す
- 日付の書式
yyyy/mm/dd...2021/03/01
yyyy"年"mm"月"dd"日"(aaa)...2021/03/01(月)
yyyy"年"mm"月"dd"日"(aaaa)...2021/03/01(月曜日)
■参考HP
makefile
#makefile # makefile # # ・makeを実際実行せず結果だけを提示する # (https://www.mlab.im.dendai.ac.jp/~tobe/xp-2/gmake.html) # ⇒make -n all # ・暗黙の規則で定義される変数 # (https://www.mlab.im.dendai.ac.jp/~tobe/xp-2/gmake.html) # CC(Cコンパイラ):cc(デフォルト) # CFLAGS(Cコンパイラのフラグ):空(デフォルト) # LDFLAGS(リンカのフラグ):空(デフォルト) # CXX(C++コンパイラ):g++(デフォルト) # CXXFLAGS(C++コンパイラのフラグ):空(デフォルト) # CPP(Cプリプロセッサ):$(CC) -E(デフォルト) # CPPFLAGS(Cプリプロセッサのフラグ):空(デフォルト) # ・自動変数 # (http://www.jsk.t.u-tokyo.ac.jp/~k-okada/makefile/) # $@:ターゲットファイル名 # $%:ターゲットがアーカイブメンバだった時のターゲットメンバ名 # $<:最初の依存するファイルの名前 # $?:ターゲットより新しい全ての依存するファイル名 # $^:全ての依存するファイルの名前 # $+:makefileと同じ順番の依存するファイルの名前 # $*:サフィックスを除いたターゲットの名前 # # プログラム名とオブジェクトファイル名 program = main.exe objs = \ main.o \ katsu.o \ ken.o \ mutsu.o # BinaryFileAccess.o \ # LogOut.o \ # CommonFunc.o \ # Aru.o \ # Betu.o \ # Hito.o \ # Neko.o \ # Rocket.o \ # Samurai.o \ # Gakusei.o \ # hello.o # 定義済みマクロの再定義 # CXX = g++ # CXXFLAGS = -g CC = gcc CFLAGS = # サフィックスルール適用対象の拡張子定義 # .SUFFIXES : .cpp .o .SUFFIXES : .c .o all : clean $(program) # プライマリターゲット $(program) : $(objs) # $(CXX) -o $(program) $^ -L ./lib-cpp -lSLib echo $@ echo $< echo $? echo $^ $(CC) -o $(program) $^ $(RM) $(objs) # サフィックスルール .cpp.c.o : # $(CXX) $(CXXFLAGS) -c $< $(CC) $(CFLAGS) -c $< clean: cls $(RM) $(program) $(objs)
健康保険(全国健康保険協会)
#健康保険#病気
病気や怪我をした時
療養の給付(保険証を出して治療を受ける時)
-
健康診断、人間ドッグは健康保険が使えない
-
業務上や通勤災害によるケガには健康保険は使えない
-
詐欺や犯罪行為に加担した時は健康保険は使えない
-
故意に事故(病気・怪我・死亡等)を起こした時は健康保険が使えない
-
負担の割合は、小学校入学前2割、70歳未満3割、70歳以上2割
限度額適用認定(医療費が高額になりそうな時)
高額療養費(高額な医療費を支払った時)
傷病手当金(病気や怪我で会社を休んだ時)
療養費(医療費の全額を負担した時)
海外療養費(海外で治療を受けた時)
整骨院・接骨院のかかり方
あん摩・マッサージのかかり方
白内障
#病気#白内障#目
白内障とは、水晶体が年齢とともに白くにごって視力が低下する病気。水晶体とは、目の中でカメラのレンズのような働きをする組織で、外からの光を集めてピントを合わせる働きを持っている。
◆白内障の代表的な症状
- 視界が全体的にかすむ
- 視力が低下する
- 光をまぶしく感じる
- 暗い時と明るい時とで見え方が違う
◆白内障の治療方法
- どんなに症状が進行しても手遅れという事はない。
- 白内障の手術は、濁った水晶体を超音波で砕いて取り出し眼内レンズを入れるもの。
- 眼内レンズは直径6mm程度で一旦挿入すれば取り替える必要が無い。
◆白内障手術後に眩しさを感じる時は...
- 遮光眼鏡を使うらしい
- 遮光眼鏡は「補装具」として公的補助受け取りが可能かも
http://www.koriyama-h-coop.or.jp/hospital/press/pdf/no61.pdf
find
UNIX-like tools で find したい時は findf.exe が用意されている。
◆カレントディクトリ配下のファイル一覧を表示する(再帰検索)
DOS>findf . -type f
◆カレントディクトリ配下のフォルダ一覧を表示する(再帰検索)
DOS>findf . -type d
◆カレントディレクトリ配下の特定ファイル名に一致するファイル一覧を表示する(再帰検索)
DOS>findf . -type f -name sample.txt
DOS>findf . -type f -name "sample*.txt"(ワイルドカードが使える)
◆「Permission denied」を表示しないようにするには?
何もしないと
-----
$ find / -name user → 「user」を検索
find: /usr/src: Permission denied
find: /usr/share/skel/MailBox: Permission denied
find: /usr/obj: Permission denied
(略)
/home/user
-----
「2>/dev/null」を指定して、警告メッセージをnullデバイスへ出力すると
-----
$ find / -name user 2>/dev/null
/home/user
-----