excel中规范与逻辑表达式的区别

excel中规范与逻辑表达式的区别,excel,excel-formula,Excel,Excel Formula,我遇到了一个关于excel的有趣问题,我想知道它的理论背景,谷歌没有帮助 如果日期(存储在列A中)为本周,则假设您希望对列B的值求和。所以您要做的是=SUMIF(A:A;“>”&TODAY()-8;B:B) 我对为什么需要“和&符号的解释感兴趣 如果我使用If函数,就没有必要了,例如:=If(A3>TODAY()-8;TRUE;FALSE)可以完美地工作 为什么会这样 =SUMIF(A:A;>TODAY()-8;B:B)--->公式解析错误 =IF(A3>今天()-8;TRUE;FALSE)--

我遇到了一个关于excel的有趣问题,我想知道它的理论背景,谷歌没有帮助

如果日期(存储在列
A
中)为本周,则假设您希望对列B的值求和。所以您要做的是
=SUMIF(A:A;“>”&TODAY()-8;B:B)
我对为什么需要
&
符号的解释感兴趣

如果我使用If函数,就没有必要了,例如:
=If(A3>TODAY()-8;TRUE;FALSE)
可以完美地工作

为什么会这样
=SUMIF(A:A;>TODAY()-8;B:B)
--->公式解析错误
=IF(A3>今天()-8;TRUE;FALSE)
-->


我注意到
IF
函数需要一个“逻辑测试”,而
SUMIF
函数需要一个“标准”,但是标准和逻辑表达式在理论上有什么区别,我如何解释为什么需要使用它?(除了“仅仅因为excel是这样工作的…”

大部分问题似乎都由@Jeeped的评论来回答

Excel正在寻找这些参数的具体信息。首先,我建议您稍微熟悉一下

=IF(logical_test, [value_if_true], [value_if_false])
在这篇文章中,我们从逻辑测试中寻找一个布尔表达式。要解析为true或false的内容,以及对任一场景的可能操作。因此比较运算符自然适合于此

=SUMIF(range, criteria, [sum_range])
在此函数中,excel将直接比较条件与范围中现有的值。如果条件为true,则添加到sum数组并移动到下一个。找到所有true语句后,将它们相加并提供结果。因此,条件内的比较不起作用,因为函数已在比较t他把标准扩大到这个范围

这里的区别在于,IF语句中的逻辑测试必须解析为true或false,并且不需要字符串。SUMIF语句中的条件必须作为要求和的范围内的值存在。因此,条件必须解析为范围内的值。这是通过将SUMIF条件解释为c的字符串来完成的将其复制为范围值字符串

那么为什么需要引号和符号呢

它归结为“仅仅因为excel是这样工作的…”

或者,更具体地说,引号和符号是excel本身的基本语法和操作的一部分

或者,在完全非技术意义上:


Excel操作员就像是有问题的孩子。他们总是需要双手握住。总是在左右两边。他们不喜欢放手。

大多数问题都是由@Jeeped的评论回答的

Excel正在寻找这些参数的具体信息。首先,我建议您稍微熟悉一下

=IF(logical_test, [value_if_true], [value_if_false])
在这篇文章中,我们从逻辑测试中寻找一个布尔表达式。要解析为true或false的内容,以及对任一场景的可能操作。因此比较运算符自然适合于此

=SUMIF(range, criteria, [sum_range])
在此函数中,excel将直接比较条件与范围中现有的值。如果条件为true,则添加到sum数组并移动到下一个。找到所有true语句后,将它们相加并提供结果。因此,条件内的比较不起作用,因为函数已在比较t他把标准扩大到这个范围

这里的区别在于,IF语句中的逻辑测试必须解析为true或false,并且不需要字符串。SUMIF语句中的条件必须作为要求和的范围内的值存在。因此,条件必须解析为范围内的值。这是通过将SUMIF条件解释为c的字符串来完成的将其复制为范围值字符串

那么为什么需要引号和符号呢

它归结为“仅仅因为excel是这样工作的…”

或者,更具体地说,引号和符号是excel本身的基本语法和操作的一部分

或者,在完全非技术意义上:


Excel操作员就像有问题的孩子。他们总是需要双手握住。总是在左右两边都有东西。他们不喜欢让一只手空闲。

SUMIF使用字符串,所以
>TODAY()-8
需要
“>”&TODAY()-8
谢谢!但是如果它是一个字符串,它怎么还能定义大于或小于这样的关系呢?你需要在sumif(s)/countif(s)/etc中引用运算符,因为它是一个独立的参数,而不是较长方程的一部分。就其本身而言,
>TODAY()
不能独立,但
A1>TODAY()
可以。对于sumif(s)/等等,excel将范围中的单元格和表示已解析标准的字符串串在一起,并计算连接公式。
=
运算符是默认值,因此可以添加(在引号中)或不添加。非常感谢,这很好地解释了这一点!:)SUMIF今天使用字符串如此
()-8
需要是
“>“&TODAY()-8
谢谢!但是如果它是一个字符串,它怎么还能定义大于或小于的关系呢?您需要在sumif(s)/countif(s)/etc中引用运算符,因为它是一个独立的参数,而不是较长等式的一部分。就其本身而言,
>TODAY()
不能独立运行,但
A1>TODAY()
可以独立运行。对于sumif(s)/etc,excel将范围中的单元格和表示已解析条件的字符串串在一起,并计算连接公式。
=
运算符是默认值,因此可以添加(在引号中)或不添加。非常感谢,这很好地解释了这一点!:)