Excel関数

Excel関数

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

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

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

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

【Excel関数】#N/A・#VALUE!・#REF!が出たら最初に確認

数式に #N/A・#VALUE!・#REF! などのエラー値が出ると、IFERRORで囲んで消したくなります。しかし、消してしまうと原因が分からなくなります。この記事では、エラー値ごとに最初に確認する場所を整理します。原因はすべて自作のサン...
Excel関数

【Excel関数】OR・ANDは短絡評価されない原因と対処

空欄なら「要確認」にしたい。ただし、B列が文字列の行ではエラーにしたくない。そう考えて、次の数式を組んだとします。=IF(OR(A2="",B2*2>10),"要確認","OK")A2が空欄なら、ORの1つ目はTRUEです。2つ目を見なくて...
Excel関数

【Excel】日付が数字になる仕組みとVBA・PQでの扱い

日付を入力したはずのセルに「46285」と表示されて、驚いたことはないでしょうか。CSVを開いたら日付の列が数字だらけだった、という場面もあります。日付が壊れたわけではありません。Excelは日付を「シリアル値」という数字で保存していて、表...
Excel関数

【Excel関数】率の平均はAVERAGEでなくSUM/SUM

部署別の有給取得率の表を作り、最下行に「平均」を入れました。取得率の列をAVERAGE関数で平均すると62.0%です。ところが、取得日数と付与日数をそれぞれ合計して割ると44.2%になりました。同じデータなのに、なぜ数字が合わないのでしょう...
Excel関数

【Excel関数】時間の丸めは順序で結果が変わる理由と対処

外部システムが集計した労働時間と、Excelで再計算した労働時間を突き合わせたところ、15分だけ合わない行が出てきました。丸めのルールも数式も合っているはずなのに、です。原因は、丸める順序でした。この記事では、時間の丸めで結果が変わる仕組み...
Excel関数

【Excel関数】TIMEVALUEが24時間以上で誤る原因と対処

勤怠データの月間労働時間が「171:00」のような文字列で出力されていて、計算に使える数値に変えたい。そんなときにTIMEVALUE関数を使うと、エラーにならないまま誤った値が返ってきます。この記事では、TIMEVALUEが24時間以上の値...