0

この計算はネストされた巨大な if 式で行われるため、この目的でピボット テーブルを使用することはできません。

列 A には単位が
あります 列 B には開始日があります
列 C には終了日があります
列 D:F にはデータがあります。列 E... はそのデータを橋渡しするための試みであるため、7 月と 8 月を比較できます。

編集中の質問: 誰もが最初からやっているので、ここでそれを捨てたほうがいいかもしれません.

さて、この最初の写真には、開始測定と終了測定の 2 つの日付があります。私はエンド - スタートを取ります。簡単です。

しかし、例外があります。時々D:F

http://i.imgur.com/z9KhdmC.png

しかし、私のデータは一貫していません。D:F はゼロでいっぱいになる場合があります。7 月のデータが 8 月になることもありますが、ブリッジによると、そうではありません。7月のデータが8月1日以降になるとは思えません。

それを説明するために、この新しい写真がここにあります。

http://i.imgur.com/QcR55s8.png

これは、私が理解しようとしている私の現在の式です。

=IF(AND(B2>=DATE(2013,7,1),B2<=DATE(2013,8,1)),IF(G2<>0,IF(-need.to.prevent.duplicates.here- ,F2-D2,0),V2),IF(AND(C2>=日付(2013,7,1),C2<=日付(2013,7,31)),IF(B2=日付(2013,8, 1),F2-E2,F2-D2),0))

4

3 に答える 3

1

提供された画像を使用して、セル I32 で次の数式を試して (1 月が始まる場所であるため)、何度もコピーします。

=IF(TEXT($B32,"mmmm")=I$31,IF(TEXT($C32,"mmmm")=I$31,$G32,$E32-$D32),IF(TEXT($C32,"mmmm")=I$31,$F32-$E32,0))

同じことを書くための代替(短縮)バージョン:

=(TEXT($B32,"mmmm")=I$31)*($E32-$D32)+(TEXT($C32,"mmmm")=I$31)*($F32-$E32)

[編集]:ここにワークブックの例を含めています

于 2013-08-15T15:16:12.720 に答える
0

私は自分の解決策を見つけたと思います。私の最終結果はこれです。

=IF(AND(B2>=DATE(2013,7,1),B2<=DATE(2013,8,1)),IF(G2<>0,IF(E2<>"",E2-D2,IF (P2=G2,0,F2-D2)),V2),IF(AND(C2>=DATE(2013,7,1),C2<=DATE(2013,7,31)),IF(N2>G2 ,V2-N2,G2-N2),0))

私が行ったことは、8 月を G2 (合計) と比較して、重複を排除することでした。8 月が完全に似ている場合、式は 7 月を 0 にします。

また、6 月のデータ側にも少し手を加えています。

于 2013-08-15T17:46:25.427 に答える
0

月が両方とも 8 月でない場合に何を望むかについて言及していないため、次の数式 (Row1 にコピーされ、それに合わせて下にコピー) では、そのシナリオは FALSE になります。

=IF(AND(MONTH(B1)=8,MONTH(C1)=8),IF(ISBLANK(E1),"OTHER",E1))  

ただし、どちらも 8 月の場合、これは要件を満たす必要があります。ただし、「OTHER」が別の式のプレースホルダーであることを条件とします。

編集:

上記は「BとCに8月がある場合、Eのデータを探してください。Eにデータがない場合は、別の式を実行してください」という式を満たしていると思います。ただし、「ユニット」のすべてのインスタンスで E データの存在をテストする場合は、次のようにします。

=IF(AND(MONTH(B6)=8,MONTH(C6)=8),IF(COUNTIFS(A:A,A6,E:E,"<>"&""),"OTHER",E6))
于 2013-08-15T14:21:34.150 に答える