我环顾了Stackoverflow论坛(基本上在Google上的其他任何地方),并且发现了很多“几乎”如果我对VBA更熟悉一点就足够了,但是我已经搞砸了一段时间了,而且还没有弄清楚。有点沮丧,所以我觉得是时候问了!对不起,如果我解释我的问题时得到错误等错误!这可能只是我的语法问题。VBA Countif(s)语法问题(和/或关于多个条件)
基本上我需要能够从电子表格中的列中获取数据,并让它对特定参数集的单元格进行Countifs(我认为无论如何)。我需要的所有数据都是具有“Dimension1 x Dimension 2”格式的页面尺寸,例如“8.5 x 11”
Valtest = Application.WorksheetFunction.CountIfs(Range("P:P"), "8.5 x 11")
这个公式,可能相当不出所料,工作得很好。但我需要标识(或任何我需要的)也能够给我的尺寸< = 8.5 x < = 11以及翻转尺寸(< = 11 x < = 8.5)。
我试图改变公式样形式(以及类似)
Valtest = Application.WorksheetFunction.CountIfs(Range("P:P"), "<=8.5" & " x " & "11")
但是,这将报告一个尺寸如3×4或22×11,我知道COUNTIFS可以使用多个参数(其这就是为什么我会乱搞它而不是正常的countif),但我不知道是否输入多个参数甚至是正确的路径,或者如果它是正确使用引号的东西或......谁知道?
我能够使If-then语句正常工作(使用数组并通过计数器循环遍历每个单元格),但这显然不是实现此目的的最快方法。这是为了让我的目标更清楚一些。
“如果X(0)< = 8.5和x(1)< = 11或 X(1)< = 8.5和x(0)< = 11然后
在一个相关的问题,我d还需要能够找到例如< = 11 x < = 17之类的页面,但不包括我之前的问题(8.5 X 11)的搜索结果。所以我需要知道多个参数的正确语法,这些参数会涉及到类似< 8.5但小于17的大小。
在此先感谢!任何帮助是相当赞赏。如果我没有充分解释任何事情,请告诉我。
编辑:数据的一个例子,我会被搜索:
A Count for 8.5 x 11 (expected output)
8.6 x 11 5
8.5 x 11
8.5 x 11
8.5 x 11
8.5 x 11
8.4 x 11
22 x 11
10 x 17
你能告诉您想要验证的列数据的一小部分样本? – bonCodigo
当然。列可能有数据是这样的: 8.6×11 8.5×11 8.5×11 8.5×11 8.5×11 8.4×11 22×11 – Finch042
你说你还“需要找到网页”于是这些相应的“页面”是你要查找的?最好只是通过添加一部分专栏来更新你的问题:)剪切粘贴就可以了。我更新了你的数据,你能告诉我们你有什么,在下一列中有相应的页面名称吗? – bonCodigo