本記事では、主にExcel 2021を使用して検証および画像の作成を行っています。一部の関数は、無料のWeb版Excelでも動作しますが、動作しないものもありますので、本文中で注記します。
Excelの「隠しコマンド」!?メニューにはない、知る人ぞ知る4つの秘密の関数
「Excelの関数なら、大体知ってるよ。SUM
でしょ、VLOOKUP
でしょ、最近だとXLOOKUP
とか…」
そう思ったあなた、素晴らしいExcel使いですね!
でも、ちょっと待ってください!
もし、Excelの関数リストに載っておらず、数式バーに入力しても候補にも出てこないのに、なぜかちゃんと動く「隠し関数」が存在するとしたら…?
今回の「Excelで暇つぶし」は、そんなExcelの歴史の闇に(?)埋もれた、秘密の関数たちを白日の下に晒す、探求の旅です。
「え、そんな関数があるの?なんで隠されてるの?」
その理由は、Excelがまだ生まれる前の大昔、表計算ソフトの覇者であった「Lotus 1-2-3」というソフトからの乗り換えを促すため、互換性を維持するために残された「遺産」だから、などと言われています。
Microsoftが公式にサポートしているわけではないので、いわば「動作保証外」の関数たち。
そんなスリリングな4つの関数、DATEDIF
, DATESTRING, NUMBERSTRING, EVALUATE
の謎を、一緒に解き明かしていきましょう!
1. DATEDIF関数 – なぜ便利なのに隠されたのか?期間計算の達人
考えかた
まず最初にご紹介するのは、隠し関数界のスター、DATEDIF
関数です。
この関数は、誕生日から年齢を計算したり、入社日から勤続年数を計算したりといった、「期間計算」を非常に簡単に行うことができる、極めて便利な関数です。
なぜこれが公式サポートされていないのか、Excel界の七不思議の一つとも言われています。
数式と解説
=DATEDIF(開始日, 終了日, 単位)
[動作環境] Excel 2021: ✅ / Web版Excel: ✅
この関数のすごいところは、第3引数の「単位」を変えることで、様々な期間を求められる点です。
"Y"
: 満年数を返す(年齢計算に最適!)"M"
: 満月数を返す"D"
: 日数を返す"YM"
: 1年に満たない月数を返す"MD"
: 1ヶ月に満たない日数を返す

代替案はあるの?
残念ながら、DATEDIF
と全く同じ機能を持つ公式関数は存在しません。
ただ、単純に「年数」だけを知りたい場合は、YEARFRAC関数が使えます。
=YEARFRAC(開始日, 終了日)
この関数は、2つの日付間の年数を、小数点以下の日数も含めて返します(例: 25.5年)。
結果をINT
関数で整数化すれば、年齢計算に近いことはできますが、やはりDATEDIFの”Y”が返す「満年齢」の正確さには敵いません。

2. DATESTRING & NUMBERSTRING – 和暦と漢数字に一発変換!
考えかた
次にご紹介するのは、日本のビジネス文書などで、たまに必要になる「和暦」や「漢数字」への変換を一瞬でやってのける、双子のような関数です。
数式と解説
=DATESTRING(シリアル値)
=NUMBERSTRING(数値, 形式)
[動作環境] Excel 2021: ✅ / Web版Excel: ✅
DATESTRING
: 2025/7/31のような日付を、「令和07年07月31日」という和暦の文字列に変換します。- “
NUMBERSTRING
“: 123のような数値を、漢数字の文字列に変換します。第2引数の「形式」を変えることで、様々な種類の漢数字にできます。- 形式1: 一万二千三百四十五
- 形式2: 壱萬弐阡参百四拾伍
- 形式3: 一二三四五

推奨される代替案:TEXT関数
実は、これらの関数の機能は、公式にサポートされているTEXT関数
で、ほぼ再現可能です。
Microsoftとしては、こちらを使うことを推奨しています。
- 和暦に変換:
=TEXT("2025/7/31", "[$-ja-JP]ggge""年""m""月""d""日""")
- 漢数字に変換:
=TEXT(12345, "[DBNum1]")
(形式1)=TEXT(12345, "[DBNum2]")
(形式2)=TEXT(12345, "[DBNum3]")
(形式3)
表示形式のコードを覚える必要はありますが、公式にサポートされている安心感がありますね。

3. EVALUATE関数 – 文字列を「数式」として実行する、最強のラスボス
考えかた
さあ、いよいよ最後にご紹介するのは、隠し関数界の「ラスボス」、最も強力で、最も謎に満ちたEVALUATE
関数です。
この関数の能力は、まさに異次元。
セルに入力された「文字列」を、Excelの「数式」として解釈し、その計算結果を返すという、とんでもない力を持っています。
【最重要注意点】
このEVALUATE
関数は、Web版Excelでは使用できません。デスクトップ版のExcelでのみ動作する、まさに「禁断の関数」なのです。
使い方と解説:名前の定義でのみ使用可能
この関数の最大の特徴は、セルに直接=EVALUATE(…)と入力しても、エラーになって使えないという点です。
では、どうやって使うのか?
答えは、Excelの「名前の定義」機能の中でだけ、この関数はその力を発揮するのです。
- まず、「数式」タブに移動し、「定義された名前」グループの中にある「名前の定義」をクリックします。
- 「新しい名前」ダイアログボックスが表示されたら、「名前」の欄に、好きな関数の名前を付けます。(例: KeisanJikkou)
- 次に、最も重要な「参照範囲」の欄に、以下の数式を入力します。
=EVALUATE(Sheet1!$A$1)
(※Sheet1!$A$1の部分は、数式が書かれた文字列を入力したいセルを、シート名付きの絶対参照で指定します。) - 「OK」をクリックして、名前を登録します。

これで準備は完了です!
あとは、A1セルに「計算したい数式の文字列」を入力し、別のセルに =KeisanJikkouと入力するだけ。
さあ、その驚くべき挙動を見てみましょう!

ご覧の通り、A1セルの文字列を書き換えるだけで、B1セルの計算結果がリアルタイムに変化します!
まるで、Excelのセルが電卓になったかのようですね。
動的なシミュレーションツールを作成したり、ユーザーが入力した条件で計算式を切り替えるような、高度なシートを作成する際に、絶大な威力を発揮する可能性があります。
まとめ
今回は、Excelの関数リストには載っていない、4つの「隠し関数」を探求する旅に出ました。
非常に便利なDATEDIF、今ではTEXT関数にその役目を譲ったDATESTRINGとNUMBERSTRING、そして禁断の力を持つEVALUATE。
これらの関数は、Excelが歩んできた長い歴史と、表計算ソフトの進化の過程を物語る、生きた化石のような存在です。
公式にサポートされていないため、実務で積極的に使うことは推奨されませんが、その存在と能力を知っておくことは、あなたの「Excelの引き出し」を、間違いなく豊かにしてくれるはずです。
たまには、こんなExcelの歴史の片隅に眠る「ロストテクノロジー」に思いを馳せてみるのも、また一興ではないでしょうか。