【问题标题】:Use SUMIF with transformed text to number使用 SUMIF 将文本转换为数字
【发布时间】:2018-09-13 12:42:36
【问题描述】:

所以我在 Excel 中有一个每月预算,我用它来跟踪确保我的所有经常性账单都能按时支付。

假设我有一个格式如下的表格:

Bill | Due Date | Amount Projected | Actual Amount | Diff Mortgage | 1st | $1,500 | $1,510 | -$10 Water Bill | 13th | $30 | $25.80 | $4.20

我在 1 日和 15 日获得报酬,我正在尝试获取两行,分别给出在第一次薪水内到期的所有账单的总和,以及之后到期的账单的总和。

所以我正在尝试使用 SUMIF 函数,但是因为 DUE DATE 列是文本而不是日期,所以我得到了第一个、第二个等,我不确定如何对此进行比较。

所以我有摆脱thnd等的公式:

=LEFT(B2, LEN(B2)-2)

如果没有thnd,SUMIF 函数将如下所示:

=SUMIF(C2:C3, "> 15", B2:B3)

但我就是不知道如何结合这两个公式。是否有任何特殊字符在单元格上运行转换,我可以将其传递到公式中,而无需在某个地方设置中间单元格来保存到期日期的 113

我知道有其他方法可以做到这一点,例如按截止日期对列进行排序,然后只选择该范围,但我不想手动更改一堆其他“每次我添加或删除帐单时报告”列。

提前感谢您的帮助。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:
    =SUMPRODUCT((left(B2:B3,len(B2:B3)-2)<15)*C2:C3)
    

    SUMPRODUCT 执行类似数组的操作。因此避免使用完整的列引用,例如 B:B。

    【讨论】:

    • 啊,这已经非常接近了,但已经达到了 99%。我使用FLOOR1st 值转换为1,因为没有FLOOR 函数我认为它仍在转换为字符串。谢谢!
    • 所以最终的函数最终是这样的:=SUMPRODUCT((FLOOR(LEFT(B2:B3, LEN(B2:B3)-2)&lt;15))*C2:C3)
    • =SUMPRODUCT((--(left(B2:B3,len(B2:B3)-2))&lt;15)*C2:C3) 也可以。每当您通过数学运算将数字作为字符串发送时,它都会自动转换为数字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多