同僚のPCで数式が機能しないのはなぜですか?
こんにちはみんな、
お役に立てば幸いです.日付の計算を含める必要があるスプレッドシートを作成しました.簡単に言えば、入院時に患者が17歳以下であったかどうかを確認する必要があります.自分のPCですべてが正常に機能しますが、同僚と共有すると、数式が機能する場合と、#VALUEが報告される場合があります.エラー.
どちらも同じversionのExcel365を使用しており、設定は同じようです.
これが私の同僚の視点からのファイルの簡略化されたversionです
ソースファイルには、次の形式の日付(生年月日と入学日)が含まれています(セルA2など).
= "01/01/1967"
この形式のため、次の数式を使用して、最初のインスタンス(セルC2など)で日付が常にテキストとして認識されるようにしました.
= TEXT(A2、 "dd/mm/yyyy")
最初に列CとDの日付がテキスト形式であり、一貫して同じであることを確認しようとしたので、数式は計算を実行する前にこれを値に変換し直そうとします.セルE2の数式は、生年月日に17年を加えたものが入学日よりも大きいかどうかを示し、1を示し、それ以外の場合は0を示します.
= IF(DATEVALUE(C2)+6209>DATEVALUE(D2)、1,0)
上記の例からわかるように、数式はセルE9、E10、E11、E14、およびE20で機能しますが、他のセルでは機能しません.
「数式の評価」ルーチンを実行すると、C列の日付でエラーが発生する場合と、D列の日付でエラーが発生する場合があります.これは、特定のセルの形式の違いを示しています.これは、なぜ、どのように修正するのか理解できません.
何かアイデアはありますか?
ありがとう
ナイジェル
返信リスト(回答:7)
アレックスに同意します.= "01/01/1967"のような式はテキストを作成し、TEXT関数自体はローカル設定でのみ機能します.すべての場合の99%で、テキストの日付を処理する必要はありません.これは、ロケール設定でのみ機能します.
ご覧ください:
私のシステムでは、C2で日付を取得することすらできません.ヨーロッパでは、日付区切り文字としてドットがあり、「dd/mm/yyyy」の形式は「TT.MM.JJJJ」である必要があります
ただし、C2でわかるように、セルの内容はセル内で左揃えになっています.つまり、これはテキストです.
また、その文字を変更する方法を見つけたとしても、日付形式としてmm/dd/yyyyがあるため、米国のシステムでは機能しません.
大丈夫、大丈夫、解決策は何ですか?この関数は使用しないでください.:-)
実際の日付をA2に書き込むと、C2が不要になり、計算を実行します.米国英語のシステムのスクリーンショットを表示します:
ご覧のとおり、B2の日/月が交換されます.また、同じファイルがドイツのシステムでどのように表示されるかを次に示します.
これがファイルです.システム上でどのように表示されるかを見てください.重要なのは、実際の日付を使用し、中国でどのように見えるかを気にする必要がない場合、計算は世界中で機能するということです.:-)
https://www.dropbox.com/s/v8tah8a4u41sz5b/80c9a05e-30a4-40b2-8df1-469ebbc9f1f4.xlsx?dl=1
アンドレアス.
応答4# ->にスキップ2 #Nigel-Uアンドレアス
大変感謝しております.残念ながら、ソースファイルが設定されており、それを変更することはできないため、受け取った形式で作業する必要があります. 両方のPCで地域の日付形式をチェックして、それらが同期されていることを確認し、これが当面の問題であると疑っています.
よろしく
ナイジェル
応答2# ->にスキップ1 #Andreasシステム設定を変更しないでください!
この設定はPC上のすべてのApplicationに影響するため、問題や誤動作を引き起こす可能性があります.
日付をインポートしてこの問題が発生した場合は、その方法を教えてください.実際の日付を取得するお手伝いをします.
アンドレアス.
応答2# ->にスキップ3 #Nigel-U素晴らしいニュースです.
同僚の日付はmm/dd/yyyy(米国スタイル)に設定されていましたが、私はdd/mm/yyyy(英国スタイル)でした.両方のPCを調整することで解決しました.問題は解決しました.
十分に感謝することはできません.
よろしく
ナイジェル
こんにちはナイジェル、
私の考えでは、これはここで説明されているのと同じ問題であるはずです:
#VALUEを修正する方法! DATEVALUE関数のエラー
同僚が、日付形式としてdd/mm/yyyyを使用するシステムの地域設定を使用していない可能性があります.
したがって、Datevalue数式は、たとえば15/12/2022の日付に一致する場合、エラーを返します.
同僚に、Windowsシステムのリージョン形式を英国に切り替えて結果を確認するように提案することができます.
よろしく、
アレックス・チェン