Excelユーザーで、VBA(Visual Basic for Applications)に触れ始めた方から時々いただく疑問・質問があります。 「VBAの関数とワークシート上で使える関数はなぜ違うのですか?」 というご質問です。 例えば、 今日の日付を取得するのは、 VBA関数の場合は「Date」ですが、 ワークシート関数では「TODAY」です。 日付の間隔を取得するのは、 VBA関数の場合は「DateDiff」ですが、 ワークシート関数では「DATEDIF」です。 (よく似ていますが、最後の「F」の数が違います。) 厄介なことに同じスペルで似たような動作をするのに実は違うものもあります。 VBA関数の「Round」は丸めを行いますが、 ワークシート関数の「ROUND」は四捨五入を行います。 同じExcelというソフトウェア上で動いている関数なのに、なぜ違うのか、というのがご質問の主旨です