Tag: 工作表函数

查找以特定顺序重复的行,并按重复次数显示结果

我能够使用Python解决这个问题,但是我需要在Excel本身中实现解决scheme,以便我可以使用graphics轻松地表示结果。 鉴于此表: bac cabacb ac acd bca dca 我想获得一个列表,按行中重复的次数(没有特定的顺序)sorting。 所以这将被视为重复的行:“abc”,“cba”,“acb” 但是这不会:“abc”,“bc”,“b”,“ab”,“ac” 所以,我正在寻找的输出将是这样的: 1st place: "b+a+c" found 4 times 2nd place: "a+c+d" found 2 twice 3rd place: "a+c" found once 即使输出“a + b + c”,“c + b + a”等等,输出也必须说“b + a + c”,因为“b + a + c”是第一个其他所有重复之一。 任何人都可以告诉我解决问题的正确方法吗?

如何在Excel单元格的expression式中格式化货币?

我想弄清楚如何格式化结果在Excel中的expression式。 我写了 =IF(C30 > B30, "You would save $" & Format(C30-B30, "Currency") & "!", "No savings") 在单元格内但它不起作用。 简而言之,我想要在expression式中格式化货币。 怎么样?

VLOOKUP给#N / A,我不知道为什么

为什么这不工作? 我试图检查空白,确保长度是一样的,等等。 我只想要阿拉巴马! 给出的错误是“价值不可用”。

检查范围内的唯一单元格的数量

我有一个Excel表。 在列E下,我有425个单元格的数据。 我想检查是否在E列下的其余424个单元格的任何其他地方重复了相同的数据(即单元格内的文本)。我该怎么做? 例如,在E54我有 Hello Jack 我将如何检查这个值,看看它是否在这些单元格的其他任何单元格中?

数组条件的Sumifs

我很惊讶,我无法find这个地方,这让我觉得我必须错误地做这件事。 我希望能够在sumifs中包含一系列的值,所以它对条件中的每个值执行一个循环(而不必为每个值写一个“+ sumifs(….)”。下面是一个例子,到目前为止,这是行不通的 `=SUMIFS(Sum,Range1,Criteria1, '[Stores.xlsx]Sheet1'!$H:$H, "Store #"&Regions!$T:$T&"*")` 所以我试图通过地区的每个值!T:T作为一个标准。 例如“洛杉矶商店#150”和“圣地亚哥#155商店”都需要通过论证。 目前,公式只是返回匹配的第一个项目,不会继续到下一个项目。 我希望这是有道理的。 请问你是否需要更清晰。

默认的Range属性会产生意外的结果

作为后续问题,我在这里发布的答案,我想知道为什么以下不会错误,这是VBA中的一个可能的错误? 采取以下数据: 如果我们使用下面的VBA代码,我们会收到一个错误,因为我们需要使用date的数字值来匹配: '//Produces error Debug.Print WorksheetFunction.Match(Range("C3").Value, Range("A1:A14"), 0) 所以这些陈述中的任何一个都可以工作: '// Cast to Long Debug.Print WorksheetFunction.Match(CLng(Range("C3").Value), Range("A1:A14"), 0) '// Access .Value2 property directly Debug.Print WorksheetFunction.Match(Range("C3").Value2, Range("A1:A14"), 0) 然而正如让 – 弗朗索瓦·科贝特 ( Jean-FrançoisCorbett)所指出的,如果我们不指定一个财产,它也可以工作: Debug.Print WorksheetFunction.Match(Range("C3"), Range("A1:A14"), 0) 所以如果.Value不起作用,这是Range对象的默认属性 – 为什么它在上面的例子中工作? 这可能是一个错误? 还是有一些评估正在发生,以抵消这一点?

Excel条件格式自我参考

我想在Excel 2003中做一些条件格式化,我想要做的是如果下一个单元格为“是”,则单元格变为红色,如果它本身包含“是”,则变为粗体。 所以如果两个单元格都是“是”,那么当前的单元格就会变成红色,而且是粗体。 我想为一组单元格做这个,所以我没有直接引用这个单元格,但是我想出了以下内容。 =AND(INDIRECT(ADDRESS(ROW(),COLUMN()))="Yes",INDIRECT(ADDRESS(ROW(),COLUMN()+1))="Yes") 但是这总是失败。 但是,如果我自己使用( INDIRECT(ADDRESS(ROW(),COLUMN()))="Yes"使当前的卖出变成粗体)。 有没有人知道我可以自我引用一个单元格在Excel 2003条件格式?

最大限度地减less指定小计小组的数量

我有这样的数据: ABCD Book1 1 49 2 37 3 31 4 46 163 5 35 6 47 7 40 8 38 160 9 45 10 25 11 38 12 29 13 25 14 18 180 其中列D包含来自列C的(可变)数量项目的小计。 我试图完成的是,给定一些这些小计,每一个尽可能接近他们的平均水平(这可能是小样本,但不一定在较大的表)。 换句话说,如果C列中的项目总数是15,000,我想把它们分成90份,那么每一个部分应该尽可能地接近166.67(15,000 / 90)。 ColumnC的顺序可能不会改变。 这怎么可能完成? (如果需要,VBA将为我工作。)

任何理由避免Application.Worksheetfunction?

我正在写一个macros来遍历一些logging,并想要一个for循环,以避免任何无限循环的机会,如: For i = 0 to COUNT **do stuff with START_CELL.Offset(i,0) Next 我不记得如何从VBA做一些事情,所以search发送给我在这里: 使用VBA来计算列中的非空白单元格 。 有一个build议是 n = Worksheets("Sheet1").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count 这似乎过于复杂,所以我做了更多的挖掘,并决定我要使用: COUNT = Application.WorksheetFunction.Count(COUNT_RANGE) 该页面上的另一个例子使用Application.WorksheetFunction.CountA() ,但现在我仍然担心(偏执),我应该避免它的原因。 有没有? 谢谢大家。

试图提高数组公式的效率

我有一个SUM数组公式,有多个嵌套的IF语句,使得它非常低效。 我的公式跨越了500行,但这是一个简单的版本: {=SUM(IF(IF(A1:A5>A7:A11,A1:A5,A7:A11)-A13:A17>0, IF(A1:A5>A7:A11,A1:A5,A7:A11)-A13:A17,0))} 正如你所看到的,公式的前半部分检查数组大于零的位置,如果是,则在公式的第二部分求和。 你会注意到同样的IF语句在那里被重复了两次,这对我来说是低效的,但是我能得到正确答案的唯一方法。 我有的例子数据如下: 电子表格中的示例数据http://clients.estatemaster.net/SecureClientSite/Download/TempFiles/example.jpg在这个例子中,答案应该是350,使用上面提到的公式。 如果我试图在数组中放入一个MAX语句,因此删除testing以find它大于零的位置,所以它是这样的: {=SUM(MAX(IF(B2:B6>B8:B12,B2:B6,B8:B12)-B14:B18,0))} 但是,它似乎只计算了每个范围的第一行数据,并且给了我70的错误答案。 有没有人知道我可以减less公式的大小或通过不需要重复在那里的IF语句更有效率? UPDATE 吉米 您build议的MAX公式实际上并不适用于所有场景。 如果我改变我的样本数据在第1到第5行如下(显示一些数字大于他们在第7至11行中的单元格,而一些数字较低) 电子表格中的示例数据http://clients.estatemaster.net/SecureClientSite/Download/TempFiles/example2.jpg 正确答案即时通讯是310,但是你build议MAX公式给出了一个不正确的答案275。 我猜公式需要是一个数组函数来给出正确的答案。 还有其他build议吗?