文系のIT勉強メモ

勉強中のメモと、インフラの覚書き

同じ形式で同じ構成のフォルダにファイル入れるようなときのtips集

テストでルールどおりにデータを作成して格納していく×何度も!
の一連でよく使うExcelやコマンドについてのメモです。

Windows

エクスプローラ「表示」⇒ナビゲーションウィンドウ⇒開いてるフォルダーまで展開

当たり前かもだけど、オフラインで知った雑学類は今回書いていこうと思ってるのでこれも。20年前にチームリーダーがやってて知ったやり方。

今いるところから一度上にいって、そこで別フォルダを開いてその下でまたフォルダを開いて、、みたいなのがこれなら一発で済む。普段からこの設定が好きだけど、たくさんのフォルダ内を確認することの多い今、とくに必要性感じています。

※サーバでなくローカルに割り当てられたドライブとして開く必要がある

ナビゲーションウィンドウ
エクスプローラ「表示」⇒ナビゲーションウィンドウ⇒開いてるフォルダーまで展開

コマンド

エクスプローラで開いてる場所をカレントディレクトリとしてコマンドプロンプトを開く

cdで該当のディレクトリまで行くのって面倒。エクスプローラディレクトリ開いたらそのパスのとこで開く方法です。

確認したいフォルダをエクスプローラで開きます

エクスプローラでサーバにいたら、割り当てられたドライブからのパスに書き換えておきます。

\\サーバ1\\ローカルに割り当ててるサーバ内のディレクトリ\割り当てられてる中で一番上の階層\~(略)~\

D:\割り当てられてる中で一番上の階層\~(略)~\

エクスプローラのパスの欄をクリックして

半角小文字でcmdって入れてEnter

最初からそこをカレントディレクトリとしてコマンドプロンプトが立ち上がります

これは社内で共有してくれた方がいて、それを見た子が教えてくれたという又聞きで知ったtipsで、大変役立っている^^

コマンドプロンプトでパスを手打ちしない

上に書いたやり方によって今あまり利用することないけど、これもオフラインで知った手わざだから書いておこう。コマンドプロンプト上に、エクスプローラからファイルとかポイってドラッグすると、そのファイルのパスが表示されます。

コマンドプロンプトでファイル一覧をテキストフファイルとして出力する

XCOPY
xcopy ひな形フォルダ(サブフォルダ・中にファイルもあり) 001 /E/I
type nul
type nul > 001\01_ファイル\ふぁいるめい.txt
指定した場所にファイル生成
md
md 001,002,003
mkdirって打ち間違えがち。上にあげた奴と違って、まとめてフォルダ作成ができる

Excel

うっかりしがちな注意点とかもtipsとしてメモしておく。

日付の前後関係をしらべる

日付形式から数値にしても、「マイナスじゃない」ことは調べられるけど、MAXが60なのか100なのかの違いがあるから、数値をそのまま時間に置き換えないよう気を付ける。

bookをまたいで、特定のセルの値を出力させる

普通にセルに「=」入れてから対象のファイル・シート・セルをクリックして入れるとこんな感じになる↓

='C:\Users\USER\Desktop\ここより上はチェック不要の階層\階層1_文字数異ななる\階層2_002\階層3_1\[aaa.xls]Sheet1'!$A$1

これを、たとえば上記の「階層2_002」が「階層2_003」「階層2_004」、、等とたくさんあって、その配下の同名ファイル・同名シート・同位置セルからもデータを抜き出してきて一覧で確認したいときの話です。

いちいち全ブックひらいてセル指定して、、ってしないで、文字列連結でパスを作成して、そのパスをセルに入れることで1ブックから移動しないまま一覧表を完成させたいです。そのときの注意点。

="="&"'C:\Users(省略)\階層3_1\[aaa.xls]Sheet1'!$A$1"

  • 式の入れ方で、最初に「=」が重なることに注意
  • セル指定で入れるとき気にしてないけど、パスの頭にシングルクォーテーションがつくことに注意
  • ブック名・シート名・セルの指定は見ての通りだけど、言語化してみる
    • パスの中のブック名を[]で囲む
    • ブック名の"]"のあと続けてシート名、そのあとに'(シングルクオーテーション)(パスの始まりと対応していると思う)
    • シート名のあとの'のあと、!をつけてからセル番地
  • セル番地が複数セル結合された範囲(A1:B1みたいな)になってると抜き出しできないことに注意。結合されてても1セルとして記載します。(A1とか)

作成したパスを別のセルに値貼り付けする。貼り付けるだけでは計算されないので、F2キーでセルをアクティブにしてからEnterで計算させます。

値貼り付けじゃなかったら、ひとつF2⇒Enterしてからドラッグすると、F2⇒Enterを繰り返さないで値を取り出せます。別シートに =Sheet1!A2 みたいにするときかな、どういう条件でこれができたかわからなくなりました

ファイル開くたびに更新されてダイアログが開いちゃったり開くのに時間かかったりしちゃうので、参照の値は値貼り付けするなり、削除するなりしたほうが良い

参照するとき、ファイル右クリック→「新規」で開いちゃうとテンポラリ的なところで開かれたことになってしまいパスがおかしく(いきなりファイル名から始まるとか)なるので、「開く」で開くように気を付ける

シートごとコピーする前に名前がついてないか確認

コピーしようとして「同じ名前があります リネームしますか?」みたいなダイアログがでて、「はい」でも「いいえ」でもそのまま終われなくてブックごと「保存せず終了」にすることないですか?あれがうざい!!

なので、シートコピーする前にメニューバー「数式」⇒「名前の管理」でチェックします。(名前がつけられてたら、コピー元をブックごとコピーして名前全部消してからシートをコピーするとかで対応)

Excelのこまかいショートカット

Ctrl+「+」
その日の日付
Ctrl+「D」
下にコピー(上にコピーするのはない)
Ctrl+「R」
右にコピー(左にコピーするのはない)
※下にコピー、右にコピーのは、非表示の列とか行とかあるとき「あれ?あれ💦」ってなりがち
逆に、効かなかったらそれが原因の可能性がある
Ctrl+上下左右キー
その列・その行の値が入ってないセルまで飛ぶ
最初の就職のときのチームリーダーに教えてもらった
右クリックしながらのドラッグ
「書式なしコピー」「書式のみコピー」ができる(ここでいう"書式"は条件付き書式も含まれる)
10年以上前、「これをしたいとき困るよね」て言ってたら年下の子が教えてくれた

右クリックしながらドラッグ

非表示でなく枠外に「+」の印が出て非表示にできるしくみ=列や行の範囲を「グループ化」

進捗管理表など横に日付が並んでいくような表で期間が長く、日々右にスクロールが大変になっていくようなときに活用されてる。

メニューバー「データ」⇒「グループとアウトラインの設定」⇒「グループ化」

列のグループ化 開いたところ「ー」

列のグループ化 閉じたところ「+」

関数

Excelって自分の業務効率化に使う程度でそんなにExcelメインに使用する仕事をしてこなかったので(私だとパワポが多かった)いつも検索しながら使ってた関数も、今回たくさんExcel触ってたら手が慣れて使いやすくなってきた。そうなるとメモしておこうと思うものがあまりない。。

今の環境が2016で使えないけど、使えたら使いたかったなっていう新しい関数がたくさんある。SWITCH とか IFS とか XLOOKUP とか。だからそれ以外、となると更に書くことない。。

今まであまり使ってなかったけど今回重宝してる関数なにか思い出したらまた書き足します。

COUNTIFS

A列で今日の日付かつB列が「〇」のセルの数、みたいな複数条件のCOUNTIFができます。

まとまってなく入り混じった中から今日自分がOKにしたやつを選ぶのに countifs を良く使いました。

条件付き書式

「上と同じだったら文字色を白(または薄い薄いグレー)」の条件をつけるというのがおしゃれだと思ったな~

=自セル=ひとつ上のセル

として条件つけると、項目のまとまりをわかりやすくできる。条件付き書式-数式のとき自動で絶対参照になっちゃうので、$を消しておく必要があります。

before

after 書式は薄いグレーにしてます
条件付き書式の私的課題

今回に限らずよくあるんだけど、日付が横に伸びていく表のときの曜日ごとの色付け。日付ごとに1列だったら簡単だけど、日付に対して複数列(例えば4行)あるとき、条件付き書式の条件のところって4列ごとに固定でドラッグされてくれない。

もちろん行を増やしちゃって、セル結合せずに1列ごとに日付の入ってる行を作って、って言うのならできると思うけど、様式が決まっててそれができず、色だけつけたいとき。解決できる条件の付け方知りたい。

例えばこんな表のときに曜日に色付けする条件のつけかたが知りたい

条件付き書式の数式欄を手打ちで直したくてもセル参照になっちゃうのもマウス使わずにどうにかする方法ないのかなって課題。普通のシート上のセルは、F2でセル編集モードにできるってわかったけど。

通し番号

上から項目番号つけるときっていろんなやり方がある。「=A1+1」みたいのだと途中の行を削除したり入れ替えるたびに面倒なことになる。今わたしが一番いいなと思ってるのがこれ。

=ROW(A6)-ROW(A$5) これをドラッグ

1としてカウントする自セルをA6としたとき、自セルの行(ROW)から、自セルの上の行(A5)を引く。自セルと省く行との差分だから、自セルの行に従って項目番号が変わる。省く行(A1-A5)は変わらないから、引く数が変わらないように、A5セルの「5行目」というのは固定になる=A$5