【问题标题】:How to use =COUNTIF() on every second cell that contains a letter?如何在包含字母的每个第二个单元格上使用 =COUNTIF()?
【发布时间】:2019-10-23 13:14:12
【问题描述】:
  1. 我想跟踪员工当月的工作时间,包括休假时间和加班时间。

  2. 我每个月的每一天都使用两个单元格。单元格 1 = 工作小时数/员工休假。单元格 2 = 加班多少小时

  3. 当天的工作时间单元格将包含一个数字(他们当天工作了多少小时)或一个字母(一个“V”,表示他们当天休假)。

  4. 每个“V”将计为 8 小时休假。

  5. 我需要计算范围内的每个第二个单元格,从第一个单元格开始移动到第三个单元格,依此类推。第一个单元格用于工作/休假时间,第二个单元格用于加班时间。所以我需要一个公式来跳过超时单元格。

  6. 我想在范围上使用 =COUNTIF() 公式来计算字母出现的次数。然后,这封信将在总休假单元格中增加 8 小时。

目前我只是选择每个单元格并向其添加一个 IF 公式。但我必须做 35 次。我粘贴了我目前必须输入的公式以达到我需要的结果。但是我必须为工作表中的其他单元格重复公式(它将使用其他字母),如果我想将字母“V”更改为其他任何内容,我将不得不更改每个“V”。

=IF(B5="V",8)+IF(D5="V",8)+IF(F5="V",8)+IF(H5="V",8)+IF(J5="V",8)+IF(L5="V",8)+IF(N5="V",8)+IF(P5="V",8)+IF(R5="V",8)+IF(T5="V",8)+IF(V5="V",8)+IF(X5="V",8)+IF(Z5="V",8)+IF(AB5="V",8)+IF(AD5="V",8)+IF(AF5="V",8)+IF(AH5="V",8)+IF(AJ5="V",8)+IF(AL5="V",8)+IF(AN5="V",8)+IF(AP5="V",8)+IF(AR5="V",8)+IF(AT5="V",8)+IF(AV5="V",8)+IF(AX5="V",8)+IF(AZ5="V",8)+IF(BB5="V",8)+IF(BD5="V",8)+IF(BF5="V",8)+IF(BH5="V",8)+IF(BJ5="V",8)+IF(BL5="V",8)+IF(BN5="V",8)+IF(BP5="V",8)+IF(BR5="V",8)

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    不确定我是否正确理解了您的问题,但这里有一个包含四个 V 的范围 B5:N5 的示例。该公式每隔一列检查一次 (MOD(COLUMN(B5:N5),2)=0),如果值等于 V,则返回 8。请注意,这是一个数组公式,因此需要使用Ctrl+Shift+Enter 输入。

    因为有四个 V,所以结果是 4*8=32。您可以根据需要轻松调整/扩展B5:N5 的范围。

    =SUMPRODUCT(IF(MOD(COLUMN(B5:N5),2)=0,IF(B5:N5="V",8),0))
    

    【讨论】:

      【解决方案2】:

      使用 SUMPRODUCT 并检查 COLUMN 是否为偶数:

      =SUMPRODUCT(ISEVEN(COLUMN(B5:N5))*(B5:N5="V"))*8
      

      这是正常输入的。

      【讨论】:

        【解决方案3】:

        看起来您的范围 B5:BR5 将包含数字或字母“V”

        那么,

        计算“V”的总数,然后乘以8,

        公式是:

        =COUNTIF(B5:BR5,"V")*8
        

        【讨论】:

        • 这是迄今为止最简单的。没有数组公式,没有 SUMPRODUCT,并使用 OP 指定的函数。 +1。
        • @Gravitate 但它也假定其他列中没有字母。这可能是也可能不是这种情况。如果 C5 有V,它将被计算在内。再次可能无关紧要,如果是这种情况,我同意这是更好的,但它确实做出了 OP 问题中不存在的假设。
        • @scottcraner 确实如此。但即便如此,前提是好的。即使其他不需要的列包含“V”,也可以轻松调整公式以查看可以识别所需列的辅助行。
        • @Gravitate 但您再次假设辅助行是可能的。我只是说,鉴于我们所知道的 OP 想要做的所有其他专栏 I need to count every second cell in the range 这并不满足。
        • @ScottCraner 是的,我确实做了这个假设。但是很少有辅助排是不可能的。如果绝对需要,它甚至可以完全放在另一张纸上。但是,我真的认为不需要辅助行。很明显,“V”表示休假 8 小时,每隔一列用于加班。加班栏中的“V”是没有意义的。如果是这样,它可能无论如何都希望被包括在内。我同意它在技术上并没有完全按照 OP 的要求进行。但根据解释,我认为这是最简单的答案,可以满足 OP 的意图。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-17
        相关资源
        最近更新 更多