【问题标题】:Excel, how to make a for loop?Excel,如何制作一个for循环?
【发布时间】:2020-10-26 20:52:12
【问题描述】:

我这里有这段代码:

=C5
-(IF(G9="C",(IF(G10=0,$C2,$C2-G10)),))
-(IF(H9="C",(IF(H10=0,$C2,$C2-H10)),))
-(IF(I9="C",(IF(I10=0,$C2,$C2-I10)),))

等等……

从 G9 延续到 J9。

有没有办法用更少的代码做到这一点?在java中我会使用for循环,但我不知道如何用Excel来做

谢谢!!

【问题讨论】:

  • this If: IF(G10=0,$C2,$C2-G10) 没有意义。如果 G10 是 0$C2-G10 将返回与 $C2 相同的任何数字减去 0 是那个数字。
  • 问题出在付费免费天数上。 C5 是免费带薪天数,C2 是每天工作的小时数。问题是:如果员工写“C”,则该员工使用了 C2 小时的免费带薪天数。但是,如果这个员工今天只用了 3 个小时,我需要做 C2-G10(每天的小时数减去今天的工作小时数)

标签: excel for-loop if-statement


【解决方案1】:

使用 SUMPRODUCT:

=C5-SUMRPODUCT((G9:J9="C")*($C2-G10:J10))

【讨论】:

  • 我对此进行了测试:=SUMPRODUCT(G9:J9="C") 和 G9="C",它返回给我 0
  • 那是因为你会使用:=SUMPRODUCT(--(G9:J9="C"))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多