楼主 gouweicao78 |
【声明】 此帖作为收集Excel帮助文件中,一些关于函数与公式描述不太恰当的东西。 欢迎补充,但请勿跟“顶帖、感谢”之类的东西。 1、VLOOKUP与HLOOKUP 问题(1)2007帮助文件中说:“VLOOKUP 中的 V 参数表示垂直方向;HLOOKUP 中的 H 代表“行”。” 【评论】:这意思貌似没错,但更让人觉得翻译是用“拼音”而不是“英语”在翻译,也不知道2007怎么会硬生生地冒出“V参数”来,2003还没这问题。 VLOOKUP的V 代表垂直方向,vertical HLOOKUP的H 代表水平方向,horizontal 问题(2):函数向导中,从03就是错误描述,到07仍未纠正描述,实际上“为TRUE是大致匹配,为FALSE才是精确匹配”如图,在2010技术预览版的帮助文件中(疑似2007的英文帮助文件)描述是正确的,看来,是翻译问题: 07中文版 03中文版 2010技术预览版(英文) “为一逻辑值:要查找与首列(按升序排列)近似匹配,用=TRUE或省略;查找精确匹配用=FALSE” |
2楼 gouweicao78 |
2007版的允许嵌套层数已经变为64层了,函数参数向导没有与时俱进,仍然是7层。呵呵: 07中文版 2010技术预览版 2010技术预览版的英文描述也是错的:if ommited(如果省略)、nets up to 7(7层嵌套) 此外,一个令人疑惑的词——“忽略”,让我曾为此辩论了几十层帖。 图中,把鼠标点到IF的第2个参数,提示说如果“忽略”,则返回TRUE;点第3个参数,提示说如果“忽略”,则返回FALSE。 【以子之矛攻子之盾】 什么是“忽略”?从第3参数忽略返回FALSE的情况看,可以看作是=IF(1<0,TRUE)这种整个参数没写出来也没逗号的情况;那么第2参数也能被这么“忽略”吗?显然,没办法输入公式=IF(1<0)。 帮助文件中写的很清楚: 第2参数“如果 logical_test 为 TRUE 而 value_if_true 为空,则此参数返回 0(零)。若要显示单词 TRUE,请为此参数使用逻辑值 TRUE。” 第3参数“如果 logical_test 为 FALSE 而 value_if_false 被省略(即 value_if_true 后没有逗号),则会返回逻辑值 FALSE。” 从而,可以明确的概念是“省略”表示连参数前面的逗号也去掉了。 |
3楼 gouweicao78 |
FIXED函数,第3参数“No_commas 为一个逻辑值,如果为 TRUE,则会禁止 FIXED 在返回的文本中包含逗号。” 但函数向导对话框的提示文字,又是反其道而行之。也是翻译问题。 07中文版 2010技术预览版 “为一逻辑值,在返回的文本中不显示逗号(千分位符号)则用=TRUE;要显示逗号则用=FALSE或省略” |
4楼 gouweicao78 |
安装了2010技术预览版,发现帮助文件是英文的,而且还有不少地方与07的中文版犯了同样的错误,真怀疑是07版的英文帮助文件。 通过上面3个函数的对比,发现有些问题是中文版翻译的错误,但在“省略”问题上,英文版统一使用了omitted一词(adj. 省略了的),也难怪中文版的“省略”引起理解的歧义。 但是,从英文版IF函数的帮助文件看,中文版翻译虽然没什么问题,却吃掉了一个关键词——必需的、可选的(当然,或许是2010版增加的): 先看【中文版】 Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。例如,A10=100 就是一个逻辑表达式;如果单元格 A10 中的值等于 100,表达式的计算结果为 TRUE;否则为 FALSE。此参数可使用任何比较运算符 Value_if_true 是 logical_test 为 TRUE 时返回的值。例如,如果此参数是文本字符串“预算内”,而且 logical_test 参数的计算结果为 TRUE,则 IF 函数显示文本“预算内”。。Value_if_true 可以是其他公式。 Value_if_false 是 logical_test 为 FALSE 时返回的值。例如,如果此参数是文本字符串“超出预算”而 logical_test 参数的计算结果为 FALSE,则 IF 函数显示文本“超出预算”。如果 logical_test 为 FALSE 而 value_if_false 被省略(即 value_if_true 后没有逗号),则会返回逻辑值 FALSE。如果 logical_test 为 FALSE 且 value_if_false 为空(即 value_if_true 后有逗号并紧跟着右括号),则会返回值 0(零)。Value_if_false 可以是其他公式。 再看【英文版】 logical_test Required. Any value or expression that can be evaluated to TRUE or FALSE. For example, A10=100 is a logical expression; if the value in cell A10 is equal to 100, the expression evaluates to TRUE. Otherwise, the expression evaluates to FALSE. This argument can use any comparison calculation operatorvalue_if_true Required. The value that you want to be returned if the argument evaluates to TRUE. For example, if the value of this argument is the text string "Within budget" and the argument evaluates to TRUE, the IF function returns the text "Within budget." If evaluates to TRUE and the argument is omitted (), the IF function returns 0 (zero). To display the word TRUE, use the logical value TRUE for the argument. value_if_false Optional. The value that you want to be returned if the argument evaluates to FALSE. For example, if the value of this argument is the text string "Over budget" and the argument evaluates to FALSE, the IF function returns the text "Over budget." If evaluates to FALSE and the argument is omitted, (that is, there is no comma following the argument), the IF function returns the logical value FALSE. If evaluates to FALSE and the value of the argument is omitted (that is, in the IF function, there is no comma following the argument), the IF function returns the value 0 (zero). 其中:1、Required(adj. 必需的)Optional(adj. 可选的) 2、中文版03或07对于第2参数的翻译(看斜体字部分),都是说“如果 为空”返回0,要返回TRUE则必须输入TRUE;而英文版仍然使用了omitted一词,但加了括号说明(that is,there is only a comma following the logical_test argument:即logical_test参数后面只有一个逗号),不知为何中文版翻译又造了一个“空”而又没有说“空”的具体概念,呵呵。 |
5楼 gouweicao78 |
2010beta版,IF函数参数说明: value_if_true 可选。logical_test 参数的计算结果为 TRUE 时所要返回的值。例如,如果此参数的值为文本字符串“预算内”,并且 logical_test 参数的计算结果为 TRUE,则 IF 函数返回文本“预算内”。如果 logical_test 的计算结果为 TRUE,并且省略 value_if_true 参数(即 logical_test 参数后仅跟一个逗号),IF 函数将返回 0(零)。若要显示单词 TRUE,请对 value_if_true 参数使用逻辑值 TRUE。value_if_false 可选。logical_test 参数的计算结果为 FALSE 时所要返回的值。例如,如果此参数的值为文本字符串“超出预算”,并且 logical_test 参数的计算结果为 FALSE,则 IF 函数返回文本“超出预算”。如果 logical_test 的计算结果为 FALSE,并且省略 value_if_false 参数(即 value_if_true 参数后没有逗号),则 IF 函数返回逻辑值 FALSE。如果 logical_test 的计算结果为 FALSE,并且省略 value_if_false 参数的值(即,在 IF 函数中,value_if_true 参数后没有逗号),则 IF 函数返回值 0(零)。 第2参数说成“可选”,实际上按照微软自身的描述,还是可以打擦边球过去的。 关于“省略”,新版的帮助文件加强了描述,有2点: 1、省略XX参数(XX之前一个参数后“没有逗号”) 2、省略XX参数的值(XX之前一个参数后“有逗号”)——这个目前微软仍然是错误的。 |
6楼 guangtou291 |
谢谢楼主!学习了不少。。 |
7楼 LOGO |
学习 |
8楼 李海宾 |
跟帖,加强学习 |
9楼 水星钓鱼 |
顶上去,希望微软能看到。下次在官网发表感谢申明给草兄 |
10楼 gouweicao78 |
我将整理后发给微软进行反馈,呵呵。 |
11楼 传递 |
03版的也错了不少,觉得逐渐淘汰没有去整理了 |