Tag: if statement

如果然后ElseIF语句在Excel VBA中

我正在编写一个运行数据库search的脚本。 它是通过一个具有几个条件的IF语句来实现的,这些条件依赖于三个不同字段(“国家”,“类别”和“子类别”)中的用户input。 我之前已经定义了这些。 用户在三个字段中input的不同组合会产生不同的结果。 因此,例如,如果用户不提供“国家”,则search将不会运行,并且将popup错误消息,如下所示: For i = 2 To finalrow If country = "" Then Sheets("Results").Range("B10:J200000").Clear MsgBox "You must select a country in order to search the database. Please do so in the drop-down list provided." Sheets("Results").Range("D5").ClearContents Sheets("Results").Range("D6").ClearContents Sheets("Results").Range("D7").ClearContents Exit Sub 如果用户提供了一个国家,则search运行,显示或多或less的结果取决于用户是否还提供了类别和子类别: ElseIf Sheets("Database").Cells(i, 1) = country And _ (Sheets("Database").Cells(i, 3) = category Or […]

Excel:清除A列的单元格中的内容如果B列中的单元格或C为空

我想在Excel 2010中创buildmacros或公式。 如果列B或列C中的单元格为空,则清除列A中的内容。如果列B或列C中的单元格不为空,则不要清除A中的内容。 我有一个表格,范围从A1到C10,我想检查单元格B1:B10和C1:C10的值。 我发现公式: =IF(ISBLANK(B1);"";"YOUR VALUE HERE") 但是当我尝试使用它时,我有这个问题:当错误时,A1中的内容是0的变化。

如果语句VBA Excel 2010

好的,我正在用if语句计算费率 2千瓦时+ 0.每千瓦0.4美元,首先为150千瓦时 下一个150千瓦时每千瓦@ $ 0.25 下一个150千瓦时每千瓦@ 0.10美元 额外的千瓦时@ $ 0.05 我想要三行 kWh – 使用(kWuse – 50kW,160kW,305kW,500kW, 千瓦时 – 价格(千瓦价格 kWh – 成本(kWcost 用途将是他们使用多lessKw。 价格将是IF声明。 而成本将是两者的计算。 但是我需要帮助的是Price if语句。 谢谢,

excel嵌套的IF语句

下面的公式遇到了一些麻烦: =IF(Data!X:X = 1, IF(Data!H:H = "Horse", IF(Data!U:U = A5, COUNT(Data!U:U)),0) 我需要检查Excel表格“Data”中的“X”列是否为“1”的值,如果需要的话,我需要检查另一列(在同一张表中)是否包含特定的文本元素(如:马“),那么我必须检查,如果所有条件匹配,我们需要计算出现这种情况的次数,那么工作表”数据“中的列U是否包含与我的活动工作表A5相同的值。 但是我的公式只返回FALSE。 我把它缩小到这个部分。 "IF(Data!H:H = "Horse") 现在我仔细检查,所有的IF应该是真实的。 显然我有些不对,任何帮助都会很大。

嵌套的IF语句与各种文本条件

我正在根据工程师的纪律在Excel中创buildIF语句。 我想要: IF(H5="CIVIL") then print for me value (I5*5000) IF(H5="ARCHITECT") then print for me value (I5*3000) IF(H5="ELECTRIC") then print for me value (I5*3000) IF(H5="MECHANIC") then print for me value (I5*2000) 我正在使用嵌套的IF语句: =IF(H5="CIVIL",I5,I5*5000,IF(H5="ARCHITECT",I5,I5*3000,IF(H5="ELECTRIC",I5,I5*3000,IF(H5="MECHANIC",I5,I5*2000)))) 但是我看到“你input了太多这个函数的参数”的消息。 我怎样才能使用公式没有任何问题?

删除行和列的数组

我有一些报告,其中有小计散落在他们之间。 我需要删除小计,这是很容易的条件(如在我的IF语句)。 但是,我的下面的代码只是不删除整个行的小计。 Sub clean_up() 'declare variables Dim i As Integer Dim noRows As Integer 'count rows noRows = Range("B2:B387").Rows.Count 'delete row entries that are duplicates.. For i = 1 To noRows If Range("B2").Cells(i + 1, 1) = Range("B2").Cells(i, 1) Then Range("B2:G2").Cells(i + 1).Clear End If Next i End Sub 我不明白为什么Range("B2:G2").Cells(i + 1).Clear of my […]

为什么可选参数不同于UDF的工作表IF()函数的语法?

从来没有真正深入的思考,但为什么一个=IF()函数要求你传递逗号,即使最后2个参数是可选的? =IF(logical_test, [value_if_true], [value_if_false]) 为什么我们不能叫它呢? =IF(TRUE) 获得TRUE ( logical_test评估为TRUE时的默认返回值 ) 我们不得不称之为提供两个逗号之间即使离开参数丢失/空… =IF(TRUE, ,) 在使用可选参数的UDF中,我们不需要传递逗号( 更简单的原始IF版本,error handling没有实现,因为这里不需要 ) Public Function MYIF(logical_test, Optional value_if_true$ = "TRUE", Optional value_if_false$ = "FALSE") MYIF = IIf(Evaluate(logical_test), value_if_true, value_if_false) End Function 当从电子表格调用时,我们可以省略逗号 =MYIF(TRUE) 除了Spolsky之外,任何人都知道我们为什么需要在使用native =IF()时提供逗号的原因? 我在Excel 2010中只是注意到了2007需要2个参数 。还有,2010年的function定义显示为第1位,后2位可选。 任何解释? 更新: 我知道=1=1和=AND(TRUE,FALSE)语法,我没有寻找替代=IF()的短手版本。 相反,我问的是 为什么需要提供原始=IF()因为最后2个参数是可选参数?

将等式符号发送到If语句

基本上,我有一个函数在VBA中,你发送一些参数,然后它做一些math给它一个值。 我发送的一个参数是一个"<"或一个">" ,后来在if语句中使用 if x > y 要么 if x < y 取决于我发送。 目前,我把它作为一个string,标记为“约束”,并进行以下操作: if constraint = ">" then if x > y *code* end if elseif constraint = "<" then if x < y *code* end if end if 如果这是有道理的。 这与我有的其他代码变得复杂。 有什么办法可以把这个变成一个if语句?

Excel if语句显示行中是否有任何内容

我真的不知道如何去寻找这个问题或一个合适的标题,所以我希望这是有道理的。 我正在尝试构build一个Excel电子表格,以跟踪目前正在进行testing的软件的function。 电子表格如下所示,其中AF是testing的占位符,1-5是函数的占位符。 | | A | B | C | D | E | F | |:-:|—|—|—|—|—|—| | 1 | X | | | | | X | | 2 | | | | | | | | 3 | | X | | | | | | 4 | | | X | […]

如果有两个不同的参数,使用sum

我有一个电子表格,有这样的列: Column A — Column B — Column C — Column d — Column E 1001 5.00 D 1001 10.00 1001 3.00 D 1002 10.00 1001 2.00 N 1002 5.00 D 1002 5.00 D 我一直在使用= SUMIF公式将这些值合并到列E中,它看起来像这样: =SUMIF(A1:A5,D1,B1:B5) 据我所知,它查找D1的值,findA1:A5范围内的每个匹配项,并将B列中对应的值相加。 我的问题是,C列中的值可能与D或N不同,我想添加两个额外的列,一个总结1001的所有实例和C列中的值D,一个总结1001的所有实例列C中的N的值 我曾尝试使用= SUMIFS()公式,但Excel会抛出错误,我没有足够的参数。 我写了这样的公式: =SUMIFS(A1:A5, D1, C1:C5 = "D", B1:B5) 那是我用“没有足够的有效参数”返回的时候。我发现的大多数需要使用2个以上的参数。 最近我尝试使用这里提供的例子。