
答え1
私が正しく理解していれば、次の式が機能するはずです。
- セルで使用される数式B1
=MAX(--TEXTSPLIT(A1,"; "))
または、BYROW()
塗りつぶさずにすべての出力を一度に取得するために使用します。
=BYROW(A1:A3,LAMBDA(α, MAX(--TEXTSPLIT(α,"; "))))
既存のサンプル データでも上記の式は機能します。以下にサンプルのデモンストレーションを示します。
説明:
- 関数の使用
TEXTSPLIT()
: 区切り文字によって文字列を列に分割するのに役立ちますsemi-colon with a space
-->;
(.gif
表示される内容を参照してください)。
これは関数ライブラリに属する関数なので文章したがって、これを使用すると日付の文字列がテキストとして分割され、将来のデータ操作に問題が生じることがわかります。(注記: Excel では日付と時刻は数値として保存されるため、整数部分は日付を表し、小数部分は日付の時刻を表します。)
したがって、OP でユーザーが述べたように、を または で加算するか を乗算するか で割ることでDATEVALUE()
、実際の日付に変換でき、最終的に変換されます。double unary
0
1
1
- 上記が完了したら、
MAX()
関数内でラップして戻り値を返すことができます。最新/最高/最大/最高(どちらでも適切な)日付。
理由:
ユーザーが、0
私が提供した数式を使用しているときに を取得していたのに、 を取得していた理由DATEVALUE()
を説明するために、スクリーンショットでそれを明確にします。
- ユーザーはセミコロンのみの区切り文字を使用していました
;
が、私はセミコロンとスペースを使用しました;
- そのため、二重単項演算子で囲むと、
MAX()
最初の単項演算子のみが数値に変換され、2 番目の単項演算子は先頭にスペースがあるためエラーが返されます。ただし、区切り文字としてセミコロンとスペースを使用した場合は機能するはずです。スクリーンショットを参照してください。
- 関数を使用すると
DATEVALUE()
、先頭のスペースが処理され、数値に変換され、最後に で折り返されてMAX()
目的の出力が得られます。別の方法としては、 を使用することが最初に説明されましたが;
、別の方法としては を使用することです。TRIM()
=MAX(--TRIM(TEXTSPLIT(A3,";")))
答え2
試したことがない@MayukhBhattacharya が提供した回答しかし、提供された情報には感謝しているので、そのユーザーに回答を提供しました。
回答を DateValue に変更する必要があると判断したため、MAX 数式と TEXTSPLIT 数式の間に DATEVALUE 数式を挿入しました。
私が使用した式は次のとおりです。
=MAX(DATEVALUE(TEXTSLIT(A2, ";")))
以下の例を参照してください。
必ず短い日付フィールドを使用してセルをフォーマットしてください。