如何计算包含字符串"A*"的单元格数量 - 而不将星形视为通配符?
考虑一下:Cell C1有一个多次调用另一个函数的公式:
例如 =ExcelFuntionA(ExcelFunctionCallB(1), ExcelFunctionCallB(1)-1, ExcelFunctionCallB(1)-2, ExcelFunctionCallB(1)*3)
请注意,传递给的参数ExcelFunctionCallB每次都具有相同的值.
如果ExcelFunctionCallB(..)是涉及重要处理的函数,如果ExcelFunctionCallB(..)在花药细胞中发现结果并且上述公式被改变为参考该细胞4次,那么将更好地处理该公式.
例如
说A2有公式 ExcelFunctionCallB(..)
C1然后读 =ExcelFuntionA(A2, A2-1, A2-2, A2*3)
我想知道excel是多么聪明!
可以看到呼叫是相同的,只处理一次对该功能的调用吗?
对于数组公式以及普通函数公式来说,它是否足够智能?
如果你调用一个用VBA编写的函数,它是如何工作的?
承诺VBA函数可以直接引用未作为参数传递的单元格(我知道这很顽皮,但它发生了,即使与它一起使用的参数,它也可能返回不同的值的可能性很小是相同的.)
从上面开始,有没有办法告诉代码VBA函数不能直接访问任何excel单元格?(有点像application.volatile我想象的那样)
一个更现实的例子:我实际上一直在尝试这样的公式:
=MID($A2, FIND("@",SUBSTITUTE("#" & $A2 & "#","#","@",B$1)), FIND("@",SUBSTITUTE("#" & $A2 & "#","#","@",B$1+1)) - FIND("@",SUBSTITUTE("#" & $A2 & "#","#","@",B$1)) - 1 )
在SO 24182334/splitting-text-columns的未批准答案之一中提出了很好的记录
请注意,此公式使用文本FIND("@",SUBSTITUTE("#" & $A2 & "#","#","@",B$1))三次.
[PS.我知道有关VBA中的拆分和文本到列菜单选项.]
我希望能够确定一个人的特定ID(例如#123)出现在单独列(例如column C)给出名称(例如Bob)的次数.
我有:
- 让A列由几个名称组成.(
Bob)- 让B列包含与此人姓名相关的ID.(
#123)- 让C列由相同的ID组成,但它可能包含ID的重复(可能有三个
#123)
ID与每个人的姓名并排.
如何使用a的结果VLOOKUP作为COUNTIF函数的标准(第二个参数)?
如果我VLOOKUP单独使用它会返回我正在尝试计算的正确值.=VLOOKUP(Bob, column A:column B, 2, FALSE)将返回#123
如果我COUNTIF单独使用它也会返回正确的计数值.=COUNTIF(column C, #123) 将返回3
我试过了,=COUNTIF(column C, VLOOKUP(Bob, column A:column B, 2, FALSE))但它回来了0.
我已经尝试将标准引用COUNTIF到具有VLOOKUP公式的单独单元格,但它仍然返回0.
因此,当我将两者结合在一起时似乎停止工作.问题可能是什么,可能是另一种选择?
我想将[0:15] 中的数字分为5类:A, B, C, D, E, F
规则:
0-1: Class A
2-4: Class B
5-7: Class C
8-10: Class D
11-13: Class E
14-15: Class F
Run Code Online (Sandbox Code Playgroud)
说明:如果数字在[0:1]范围内,那么它将被归类为A;如果一个数字在[2:4]类是B,依此类推。
示例输出:
我知道它可以用 multiple 来完成IFs,但我无法弄清楚公式的样子,特别是区分不同的数字范围。
excel worksheet-function excel-formula multiple-conditions vlookup
我有下面的代码,它应该找到一个范围内的第1,第2,第3和第4个最高值.
它目前是非常基础的,我有它在MsgBox中提供值,所以我可以确认它是否正常工作.
但是,它只能找到最高和第二高的值.第三个和第四个值返回0.我缺少什么?
Sub Macro1()
Dim rng As Range, cell As Range
Dim firstVal As Double, secondVal As Double, thirdVal As Double, fourthVal As Double
Set rng = [C4:C16]
For Each cell In rng
If cell.Value > firstVal Then firstVal = cell.Value
If cell.Value > secondVal And cell.Value < firstVal Then secondVal =
cell.Value
If cell.Value > thirdVal And cell.Value < secondVal Then thirdVal =
cell.Value
If cell.Value > fourthVal And cell.Value < thirdVal Then fourthVal =
cell.Value
Next cell …Run Code Online (Sandbox Code Playgroud) 我怀疑以前有人问过这个问题,但我找不到。
FILTER()即使指定了返回字符串,通常也会为空白行返回 0。
使用时filter()我经常得到空单元格的 0 返回值。假设 A 列中有 6 行数据:
abc
xyz
abc
xyz
abc
Run Code Online (Sandbox Code Playgroud)
如果我使用
FILTER(A10:A15, A10:A15 <> "xyz", "")
Run Code Online (Sandbox Code Playgroud)
我得到以下信息(有时):
abc
abc
0
abc
Run Code Online (Sandbox Code Playgroud)
这似乎有些难以预料。在我不想要的地方出现 0 是一个问题,需要额外的逻辑或过滤。这是一个已知的问题?除了明确过滤掉空白单元格之外,还有其他方法可以解决这个问题吗?
这似乎可以消除空单元格返回 0 的情况:
FILTER(A10:A15, (A10:A15 <> "xyz") * (A10:A15 <> ""), "")
Run Code Online (Sandbox Code Playgroud)
返回的是:
abc
abc
abc
Run Code Online (Sandbox Code Playgroud)
我可以接受这个解决方案,但它应该是不必要的。我最后还向人们解释了为什么我一遍又一遍地过滤空单元格。
顺便说一句,过滤掉 0 不起作用。FILTER()在读取单元格时似乎将单元格视为空白字符串,但在输出结果时则不然。
FILTER(A10:A15, (A10:A15 <> "xyz") * (A10:A15 <> 0), "")
Run Code Online (Sandbox Code Playgroud)
这将返回带有 0 的原始结果。
如果没有更好的解决办法,有解释吗?
如何删除Excel中另一个单元格中一个单元格的列中的特定单词.
示例:if
*1603 Ad street New York*,*New York**1603 Ad street*Microsoft Excel 2010-
我有两个工作表Sheet1和Sheet2。
两个工作表上都有数据表,涵盖了不同类型的数据-如下所示。
<Worksheet "Sheet1">
<DataTable "Table1">
<Columns>
<Column "T1Col1" />
<Column "T1Col2" />
</Columns
</DataTable>
</Worksheet>
<Worksheet "Sheet2">
<DataTable "Table2">
<Columns>
<Column "T2Col1" />
<Column "T2Col2" />
</Columns
</DataTable>
</Worksheet>
Run Code Online (Sandbox Code Playgroud)
当前,T2Col2中的每个单元格都包含以下函数:
=COUNTIF('Sheet1'!B:B, [T2Col1])
Run Code Online (Sandbox Code Playgroud)
我想用[T1Col2]的方括号内的引用替换“ B:B”,但是我不确定如何在单独的表和工作表之间完成此操作。
有两个表,每个表都有一个坐标对:经度和纬度,十进制度(即37.23222,-121,3433).如何将表A与表B中最近的坐标对匹配?
尝试制作一个if语句,该语句将根据单元格的内容返回4个结果
如果单元格为“是”,“否”,“ NA”,“未知”,则分别返回0、1、2、3。
我可以使用 If(A1="Yes", 0,1) 但不确定如何处理其他情况
excel ×9
countif ×2
vba ×2
vlookup ×2
excel-2007 ×1
excel-2010 ×1
excel-365 ×1
excel-vba ×1
filter ×1
if-statement ×1
is-empty ×1
worksheet ×1