excel数字输入后变颜色,是啥原因?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel数字输入后变颜色,是啥原因?相关的知识,希望对你有一定的参考价值。

原因是没有在数字单元格填充颜色。

1、首先打开想要设置输入数字后单元格自动填充颜色的表格。

2、以下将在输入数量介于30到100之间的时候自动填充该处单元格颜色

3、首先选中表格区域。

4、点击上方工具栏中的“条件格式”按钮。

5、在下拉菜单中点击“新建规则”选项。

6、在新建格式规则界面中,选择“只为包含以下内容的单元格设置格式“规则类型,并将单元格值设置大于30小于100。

7、点击格式按钮,进入格式设置界面。

8、在设置单元格格式界面中设置填充颜色为红色或其他颜色。

9、然后点击“确定”按钮,设置单元格格式完成。

10、回到新建规则界面,点击”确定“按钮,新建条件规则完成。

11、在表格数学列中输入数字,只要输入是30到100之间的数字单元格填充颜色就会自动变红色,其它数字不会填充颜色。

参考技术A 可能单元格设置了条件格式,也可能设置了设置了特殊数字格式

这个看似过度设计的代码检查一个数字是另一个数字的倍数的原因是啥?

【中文标题】这个看似过度设计的代码检查一个数字是另一个数字的倍数的原因是啥?【英文标题】:What's the reason for this seemingly overengineered code for checking one number is a multiple of another?这个看似过度设计的代码检查一个数字是另一个数字的倍数的原因是什么? 【发布时间】:2013-04-12 07:44:22 【问题描述】:

根据this answer,如果我想检查一个数字是另一个数字的倍数,我可以使用余数运算符%

 if( number % anotherNumber == 0 ) 
    number is a multiple of anotherNumber
 

然而在充满故意过度设计代码的this fun project 中,他们使用以下方法:

// int number;
// int anotherNumber;
if ((((int)(number / anotherNumber)) * anotherNumber == number)) 
    number is a multiple of anotherNumber

实际上是将number 除以anotherNumber,然后将其相乘并检查结果是否为number

第二种方法有任何实际意义还是只是故意过度设计?

【问题讨论】:

(请注意,显然有像这样的混淆条件可以正确处理整数溢出条件,而明显的版本不能。不要简化那种代码。至少在你搬到一种具有合理整数的语言。) 您链接到的项目是为了模仿(并且您在帖子中强调了同样多的内容)。我很确定答案是故意过度设计,因为这就是编码器的目的。假设它没有实际意义可能是安全的:) 如果numberlongfloatdouble 会有所不同,但不清楚是什么类型。 如果您想要一个真正的答案,而不仅仅是为了发布 *** 问题:询问作者。 @AlexG:如果我只想知道这是否是一种公认​​的设计模式,我为什么要问作者? 【参考方案1】:

看起来第二个代码的作者不知道 % 运算符,并使用乘法来验证是否有余数部分:)

【讨论】:

+1, "永远不要把可以用愚蠢来解释的事情归咎于恶意"【参考方案2】:

从余数运算符(JLS§15.17.3)的定义可以直接看出两者在语义上是等价的:

在二进制数值提升(第 5.6.2 节)之后,整数操作数的余数运算会产生一个结果值,使得 (a/b)*b+(a%b) 等于 a

因此,更复杂的方法没有优势。

我不能说为什么作者按照他们的方式写它,但他们认为有必要将整数除法的结果转换为int这一事实可能会给出提示。 .

【讨论】:

【参考方案3】:

不,这显然是程序员资质较低的情况。在任何初级计算机科学课程中遇到模一。过度设计可能是由于缺乏类似的背景/实践。

附:我不会小看当事人。

【讨论】:

【参考方案4】:

例子

number = 13
anotherNumber = 4
number / anotherNumber = 13 / 4 = 3.25  // if  number or anotherNumber has type float or double
(int)(number / anotherNumber) = 3
(((int)(number / anotherNumber)) * anotherNumber = 3 * 4 = 12

您可以看到结果仅与number 相同,如果number / anotherNumber 具有整数结果。

因此

if( number % anotherNumber == 0 ) 

if ((((int)(number / anotherNumber)) * anotherNumber == number))

在相同的情况下是正确的。 我很确定,第一个版本有更好的性能。

我很确定编写代码的程序员要么不知道%-operator,要么在这种情况下没有考虑过。

【讨论】:

以上是关于excel数字输入后变颜色,是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章

怎么让excel奇偶行输入数字后单元格填充不同的颜色

excel如何设置输入数字后单元格自动填充颜色

EXCEL里出现 #REF! 和#VALUE! 是啥意思?

excel怎_设定可以根据数字自动变填充颜色??

Excel 中函数count是啥意思?

请输入时间格式YYYYMM是啥?