シーゴの Excel 研究室

タイトル変更しました (旧称:今日を乗り切るExcel研究所)

セル書式なしでコピー&ペーストしたい

貼り付けの形式を選択することで、セル書式なしでセルの内容だけ貼り付ける手順を検討し、またその操作をマクロ化してみます。

セルの貼り付けは気を使う

セル範囲を単純にコピー&ペーストすると、その値だけではなく、罫線や文字色等の書式も一緒に貼り付けられます。

貼り付け先でせっかくの罫線などが破壊されてイラッとします。

それを避けるには、貼り付け時に「貼り付けのオプション」か「形式を選択して貼り付け」から、セルの書式を含めないようオプションを選択する必要があります。

貼り付けのオプションには、「書式なし」という単純な選択肢は見当たらないのですが、色々やってみて一番筆者のイメージに近いのは「数式と数値の書式」というオプションのようです。

f:id:shego:20170508183236p:plain:w500

「数式と数値の書式」では、

  • 定数(数値や文字列)はそのまま貼り付けられます
  • 数式は値に展開されず、数式のままです
  • 数式内の相対参照も反映されます
  • 数式の書式(小数点以下の桁数や通貨、日付などの書式)も一緒に貼り付けられます

逆に、数値の書式もコピーせずに貼り付け先に合わせたい場合には、「数式」の方を選択します。

さらに、数式を値(定数)に展開したい場合には「値」や「値と数値の書式」を選びます。

正直、覚えられません。

これらのコマンドの細かい仕様の違いを字面やアイコンから判断するは分かりにくく、たかがペーストするだけでそんな神経を使いたくもありません。

よく使う「下方向へコピー」(Ctrl + D)では貼り付けの形式を選べないのも中途半端な感じです。

続きを読む

空白セルに上のセルの値を一括コピーしたい

空白セルに上のセルの値を一括コピーする手順を検討します。またその処理を自動で行うマクロも作成します。

同上空白セル

親切なのか「同上」なセルが空欄になっている Excel シートがよくあります。

このようなシートをデータとして使う(CSVなど)には、空白セルを上の方にあるデータで補完させなければなりません。

数か所までならコピー&ペーストや下方向にコピー(Ctrl + D)を黙々とやればいいのですが、何か所もあったり行数も多かったりすると行ったり来たりでやっていられません。

一括で空白セルを埋める方法はないのでしょうか。

続きを読む

Excel ファイルを読み捨てたい

不要な Excel ファイルを素早くごみ箱へ捨てる方法を検討します。また、開いている Excel ファイルを自動的に閉じてゴミ箱へ移動するマクロのサンプルプログラムを公開します。

f:id:shego:20170503134117p:plain

増殖する Excel ファイル

Excel は油断していると要らないファイルがどんどん溜まりますね。

「マイドキュメント」フォルダには「Book123.xlsx」のような連番や「○○コピーコピーコピー.xlsx」とかいう謎のファイルが大量に増殖しています。

「デスクトップ」には受信メールの添付 xlsx ファイルや ZIP 解凍した xlsx ファイルなどが散在しています。

Web ブラウザや SNS アプリからダウンロードしたファイルもどこかに保存されていて、閲覧する度に「資料 (2).xlsx」 といった連番が知らないうちに増えていきます。

不要なファイルは削除すればいいのですが、問題は、そのファイルを捨てていいのかどうか、開いて確認してみないと分からないことです。

ファイル内容を見て、「あ、これゴミだ」と思っても、それを閉じてから保存先のフォルダを探しファイルを探して削除するというのも手間で、なにかと後回しになりがちです。

後で溜まった古い Excel ファイルをいっぺんに整理するにしても、まとまった時間が必要です。

そもそもダウンロードした資料やメールに添付された報告書なら、オリジナルがサーバに保存されていて何時でもまた取得できるので、取っておく必要さえありません。

そのようなファイルは見終わったらすぐに削除する習慣を身に付けておきたいものです。

続きを読む

Excel のシート名を取得したい

セルにシート名を挿入する方法、シート名をコピーする方法を検討します。また、シート名をクリップボードにコピー行うマクロを公開します。

f:id:shego:20170503225925j:plain

セルにシート名を設定するには

セルにシート名を表示したいことはよくあると思います。

シートタブからシート名をセルにコピー&ペーストすればいいのですが、それを複数シートでやるのは結構な手間です。

単純にシート名を取得するショートカットや数式に使う関数があってもいいはずなのですが、なぜか Excel には用意されていません。

数式を使う方法をインターネットで検索してみると、CELL()という関数で得られる情報からシート名をなんとか切り出すしかないようです。

シート名を切り出す数式には何種類か考えられるようですが、どれも複雑でとても覚えられるものではありありません。

【シート名取得数式の例】

  • =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
  • =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)
  • =REPLACE(CELL("filename", A1),1,FIND("]",CELL("filename", A1)),"")

この数式が何をやっているのか理解したい人は、インターネット上に詳しい解説がみつかりますので検索してみてください。

続きを読む

入力したセルの値をドロップダウンリストに表示したい

手打ちによるデータ入力を効率化するためドロップダウンリストの活用方法を検討します。また、入力済みデータからドロップダウンリストを作成するマクロを公開します。

セルへのデータ入力を効率化したい

手作業で入力作業を進めていると、何度も同じ語句を入力することが多くて、すぐにやっていられなくなります。

作業の効率化のためには、なんとか先に入力した既存データを利用したいところです。

そのための機能の一つにオートコンプリートがあるのですが、これが日本語入力とは相性が悪いようで、無効に設定している人も多いようです。

候補表示のタイミングをユーザがコントロールできればもっと使い勝手のいいものになったと思いますが・・・。

ここでは代わりにドロップダウンリストを使った入力効率化を考えてみます。

続きを読む