2026-10

Excel関数

【Excel関数】五捨六入の式|0円ガードの落とし穴

給与から社会保険料を控除するときなど、金額の端数を「50銭以下は切り捨て、51銭以上は切り上げ」にしたいことがあります。いわゆる五捨六入です。ExcelのROUND関数は四捨五入なので、端数がちょうど0.5のときだけ結果が逆になります。RO...
VBA

【VBA】非モーダルUserFormで進捗表示を作る方法

数千行を処理するマクロを、画面更新を止めて走らせると、Excelが固まったように見えます。終わるまで何も出ないので、動いているのか止まっているのか判断できません。実務では、ラベルの文字だけを書き換える簡易な進捗表示を、非モーダルのUserF...
Excel関数

【Excel】構造化参照の@は自分の行だけ|1行マスタの引き方

テーブルの計算列で、別テーブルの設定値を掛けたいときがあります。たとえば、会社ごとの倍率を入れた1行だけの表を作り、社員の表から引く場合です。同じテーブルの値は のように @ を付けて書くので、別テーブルにも @ を付けて tblCompa...
実務設計

【Excel】適用開始日つきマスタから基準日時点の最新行を引く式

改定のたびに行を足していく単価マスタから、基準日の時点で有効な1行だけを引きたい。適用開始日が昇順に並んでいれば、近似一致のINDEXとMATCHで足ります。ただ、行を足すうちに並びが崩れたり、同じ開始日が2行入ったりすると、エラーにならず...
VBA

【VBA】BOM付きUTF-8のCSV書き出しと、URLパスの検知

OneDriveの同期フォルダに置いたブックで、ブックと同じ場所にCSVを書き出すマクロを確かめたところ、書き出しの行でエラーになりました。この環境では、ThisWorkbook.Pathがhttps://で始まるURLを返していたためです...
Power Query

【Power Query】Table.Pivotの月の列は固定リストで渡す

毎月届くCSVから、直近3か月を横に並べて比べる処理があります。ところが、CSVが1か月分しかない月に実行すると、前月の列が無いため、後ろのステップがエラーで止まります。そこで前月の列を0で埋めると、今度は1か月分しかないのに全員が「新規」...
Power Query

【Power Query】年月ごとにCSVの最新版だけを採用する

毎月届くCSVを、上書きせずに作成日時つきで同じフォルダへ溜めていく運用があります。訂正版が出ても古い版が残るので、履歴をたどれます。ところが、このフォルダをPower Queryでまとめて読むと、同じ年月の行が版の数だけ重なって、合計が膨...
Power Query

【Power Query】結合で行が増える原因と重複の検知方法

名前をキーにして、取込データに別の表のコードを結合したところ、行が増えて合計が合わなくなることがあります。原因は、結合キーが相手の表で重複していることです。取込処理では、この重複を結合の前に見つける判定を入れました。この記事では、行が増える...
VBA

【VBA】GASへの書き込み方の違い|全消しと追記のみを実測

アルバイト情報を整形してスプレッドシートで共有するため、ExcelのVBAからGASへデータを送っていました。受け側のシートは、毎回すべて消して書き直す運用でした。その後、送信を店舗ごとに1回ずつへ分け、最初に「消す」リクエストを1回だけ送...
VBA

【VBA】GAS宛POSTのStatus 0をサイズ別に実測

VBAからGASのWeb Appへ、約10万字のJSONをまとめてPOSTしたところ、Statusが0で返ってきたことがあります。エラーの内容は分からず、レスポンスも空でした。当時のコードはOn Error Resume Nextでエラーを...