しごと自動化レシピ

WORK RECIPE Googleスプレッドシート

周年に達した満年数を計算する

DATEDIFのYで周年を迎えた満年数を数えます。単に西暦の差を引かず、まだ開始日の月日に達していない基準日では前年分までを返します。 小さな架空データと完成表を並べ、数式を入れる位置と判定の前提まで確認します。

開始日・基準日 → 満年数(作業の流れを表す概念図)
実行確認の記録なし

公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。

できあがるもの

完成表の列は満年数、結果は[[5]]です。

始める前に

  • ブラウザー版Googleスプレッドシートの編集権限。新しい検証用ファイルを使い、実在の顧客情報は入力しません。
  • ファイルの地域は日本、英語の関数名・カンマ区切りの数式を使います。入力はA列から、結果はF2以降へ分離します。
入力例

A1から次の表を作ります。見出しは開始日・基準日、データ行は[["2020-10-20", "2026-10-19"]]です。数値は文字列にせず数値で入力します。

入力例を表で確認する
入力例
開始日基準日
2020-10-202026-10-19

掲載手順と同じ小さな入力例です。まずは、この値で試してください。

手順

  1. 新しいシートのA1から入力表を置きます。入力表は最大5列なのでF列と重なりません。文字列の先頭ゼロが必要な場合は、その列をプレーンテキストにしてから入力してください。空欄は「空欄」という文字を入れず未入力にします。 日付・時刻・コードなど文字列として示した列は、先に表示形式をプレーンテキストに設定します。これでDATEVALUEやTIMEVALUEへ文字列を渡せ、日付の自動変換による型の違いを避けられます。
  2. F1から完成表の見出しを置き、F2へ次の式を1回入力します。右と下の展開先は空け、配列が返っても式を各行へコピーしません。
    =DATEDIF(DATEVALUE(A2),DATEVALUE(B2),"Y")
  3. DATEDIFのYで周年を迎えた満年数を数えます。単に西暦の差を引かず、まだ開始日の月日に達していない基準日では前年分までを返します。 式の中の固定値や条件は、この入力例の業務ルールです。実務へ移す前に同じルールを使えるか確認し、入力範囲を伸ばす場合は対応する各列を同じ行数にそろえます。
  4. 完成表の列は満年数、結果は[[5]]です。 表示桁数を増やすと端数が見える場合があります。式にROUNDがあるものはその桁で丸め、比率は百分率表示の有無に注意して値そのものを比べてください。
  5. 開始日が基準日より後ならエラーです。うるう日開始や契約独自の周年規定は個別に確認し、法的な年齢や権利の判定には使いません。 元の入力表を残し、条件を1つだけ変えたコピーでも結果の変化を確かめます。確定資料が必要なときは、計算結果を別シートへ値のみ貼り付けて保存してください。
    できあがる結果を表で確認する
    できあがる結果
    満年数
    5

    DATEDIFのYで周年を迎えた満年数を数えます。単に西暦の差を引かず、まだ開始日の月日に達していない基準日では前年分までを返します。

期待結果と照合する

完成表の列は満年数、結果は[[5]]です。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • 開始日が基準日より後ならエラーです。うるう日開始や契約独自の周年規定は個別に確認し、法的な年齢や権利の判定には使いません。
  • Googleの実画面での数式実行は未確認です。構文の公式資料を参照し、少量データで完成表と照合してから本番へ適用します。

止める・元に戻す

F2の数式を削除すると配列全体も消えます。F1以降に追加した見出しを除去し、テストで変えた入力を元の値へ戻します。入力表自体を数式の出力で上書きしないでください。

公式資料・対応範囲

参照日:2026-10-19。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

Googleスプレッドシートの記事一覧へ →