補助列を使い、変換上の問題を見える状態に保ちます。
D2の統一済み開始日: =IF(B2="","",IF(ISNUMBER(B2),INT(B2),IF(AND(LEN(B2)=10,MID(B2,5,1)="-",MID(B2,8,1)="-"),DATE(LEFT(B2,4),MID(B2,6,2),RIGHT(B2,2)),"Review")))
E2の統一済み完了日: C2に同じ変換を使いますが、C2が空白の場合はDATE(2026,3,1)を返します。
F2の経過暦日数: =IF(OR(D2="Review",E2="Review",D2=""),"Review",IF(E2<D2,"Review",E2-D2))。D:Eはyyyy-mm-ddのような曖昧さのない日付形式、Fは数値形式にします。
この数式は、日付シリアル値と、正確に指定形式になっているISO文字列を受け入れます。03/04/2026は意図的に曖昧としてフラグを付けます。INTはシリアル値から時刻を取り除きます。テスト:同日 → 0、2026年2月27日から3月1日 → 2、完了日が空白 → 3月1日を使用、2024年2月29日 → 正しく解析、完了日が開始日より前 → Review。DATEは無効な構成要素を繰り上げる場合があるため、取り込んだISO文字列に存在しない月や日がないかも検証してください。