2016-05-20 6 views
0

Sharepointを使用して簡単な休暇プランナーアプリケーションを作成しようとしています。私はそれの仕事の大半を持っているが、私は今銀行の休日や半日のようなエッジの場合を行うために戻っています。だから私はチェックボックスの列を追加して、チェックされている場合は、合計値(0.5日)から0.5を差し引いて欲しい。完全な日のために働いています式は次のとおりです。Sharepoint式のティックボックスに基づく数値の追加

=(DATEDIF(dateFrom,dateTo,"D"))-INT(DATEDIF(dateFrom,dateTo,"D")/7)*2-IF((WEEKDAY(dateTo)-WEEKDAY(dateFrom))<0,2,0)+1 

だから、僕はshalfdayとehalfdayと呼ばれる別の2つの列を作成しました。彼らがチェックされている場合は、合計から0.5を差し引いてください(日付が一致している場合は両方ともチェックしてから0.5を差し引いてください)。

私はGoogleの検索結果が今朝あまりにも一種であるされていませんが、彼らは#NAMEを返しているよう

-IF([shalfday],"0.5") 

および他の変異体のようなものでラウンド遊んで試してみましたか?変数。

構文上のポインタや、私は何を見ているべきですか?

+0

などとアドバイス:あなたの "Sharepointの式では、" 'Excelの数式' に実際に等しいです。 Excelを開いて計算されたフィールドの列をシミュレートします。式をデバッグする方がずっと簡単です – Verthosa

+0

こんにちは、同じ式をExcelで使用しました(ちょうどチェックボックス名にバインドされていません)。この式は実際に私が必要とする0.5を取り除きます。 Sharepointは、私が何をしようとしているのかを知るのに本当に難しいようです。上記の作業日の最後にNilsコードを追加してみましたが、まだ#NAMEを取得していますか?私がしようとしているのは、checkbox = trueの場合と-0.5の場合です。それを達成する方法は本当に鈍いようです。 – Amble

答えて

0

私はこれを別の方法でやりました。私は代わりに、別のサイトの列に休暇を残していた半日を指定するようにユーザーに依頼し、この接尾辞を数式に使用しました。それはまた、ユーザーが1日の休暇で2つの半日を取っていないことを確認するための検証チェックを取り除いた。

「合計半分日」と呼ばれる新しいサイトの列が数値に設定され、デフォルト値は0です。 は、元の式に追加:

-([Total Half Days]/2)+1 

完全式:

=(DATEDIF(dateFrom,dateTo,"D"))-INT(DATEDIF(dateFrom,dateTo,"D")/7)*2-IF((WEEKDAY(dateTo)-WEEKDAY(dateFrom))<0,2,0)-([Total Half Days]/2)+1 
0

私がお勧めします:

-IF([shalfday],0.5,0) 

をあなたは整数ではなく文字列で動作するはず減算しようとしているので、(私は引用符を削除)。

関連する問題