我正在努力提高合规性工作表的效率.我在部分(和子部分)中有一个控件列表,我使用一个值作为占位符来计算每个部分(或子部分)的控件数量,以及每个部分的异常.如果有有效控件,我使用值"1",并按每个部分或子部分汇总这些值.
我经常需要在一个部分的底部添加行,这会抛出我的sum-formula,需要手动更新这些公式.
我希望利用一个公式来"总结 - 直到"或"计数 - 直到"下一部分.我附上了一个例子.
有没有办法在下一个公式或非"1"值之前求和(或计数)?将"结束"值放在每个部分的底部会更容易,直到"结束"?这不是执行这样一个功能的理想方式(因为部分之间会有很多不必要的"结束"),但如果没有更好的方法,也许我会探索这个途径.

我有一个用于4种不同分组的总数据集.其中一个值是平均时间,另一个是计数.对于总计,我必须将它们相乘,然后除以计数的总和.目前我使用:
=SUM(D32*D2,D94*D64,D156*D126,D218*D188)/SUM(D32,D94,D156,D218)
Run Code Online (Sandbox Code Playgroud)
如果我能使它更具可读性,我宁愿使用SumProduct.我试着这样做:
=SUMPRODUCT((D2,D64,D126,D188),(D32,D94,D156,D218))/SUM(D32,94,D156,D218)
Run Code Online (Sandbox Code Playgroud)
但正如你在我的帖子中所说,这不起作用.有没有办法像我想要的那样做SumProduct?
我有3个数字范围,答案取决于范围.
75-79=0.255
80-84=0.327
85+ =0.559
Run Code Online (Sandbox Code Playgroud)
我试图创建一个计算范围的方程式,但Excel声明我为此函数输入了太多参数.下面是我输入的无效的等式.(X2包含数字)
=IF(X2=75,X2<=79,0.255,IF(X2=80,X2<=84,0.327,IF(X2>=85,0.559,0)))
Run Code Online (Sandbox Code Playgroud)
我也尝试将数字范围输入另一张表格 - Age并收到错误#Value!.
=IF(X2=Age!A1:A5,0.257,IF(X2=Age!A6:A10,0.327,IF(X2=Age!A11:A33,0.559,0)))
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Spreadsheet :: SimpleExcel生成一个xls文件,该文件调用在第三方添加中定义的函数(Bloomberg,如果重要的话).底层的WriteExcel包不允许我写出来,因为它不知道这个加载项函数.我看到模块知道的内置函数的巨型哈希表,可能会将此函数添加到它,但我不知道函数的属性,尤其是'ptg代码'.
有没有办法确定这个第三方函数的ptg代码(我假设这类似于操作码),或者是否有某种方法来欺骗模块让我写出这些函数而不必知道这些细节?还是我没想过的第三个计划?
假设我在A1到A20中有数字,我想在A列中将5个单元格的非重叠范围相加并将结果存储在E列的单元格中,它看起来像这样(如果公式被输入到每个E列单元格中)手动地):
E1 = SUM(A1:A5)
E2 = SUM(A6:A10)
E3 = SUM(A11:A15)
E4 = SUM(A16:A20)
Run Code Online (Sandbox Code Playgroud)
但是,我不想手动将公式键入E单元格.我希望能够在E1中选择公式并将其向下拖动到E4,同时保持A中5个单元格的非重叠范围!Excel默认情况下不会给我这种行为,而是这样做:
E1 = SUM(A1:A5)
E2 = SUM(A2:A6)
E2 = SUM(A3:A7)
E4 = SUM(A4:A8)
Run Code Online (Sandbox Code Playgroud)
看看每个SUM()函数中5个单元格的范围是如何重叠的?例如A1:A5和A2:A6.那不是我想要的.
那么,什么是能让我这样做的公式呢?基本上,下面的伪代码可以工作,但我似乎无法在Excel中实现类似的东西:
SUM(CELL(COLUMN, (CURRENT_ROW - 1) * 5 + 1):CELL(COLUMN, (CURRENT_ROW - 1) * 5 + 5))
Run Code Online (Sandbox Code Playgroud)
例如,对于E2,CURRENT_ROW = 2,意味着它看起来像这样:
SUM(CELL(A, (2 - 1) * 5 + 1):CELL(A, (2 - 1) * 5 + 5))
= SUM(CELL(A, 6):CELL(A, 10))
Run Code Online (Sandbox Code Playgroud)
此伪代码假定CELL具有方法签名CELL(行,列).
我正在使用以下公式来创建总计的唯一值
= SUM(IF(FREQUENCY(MATCH(C4:C9,C4:C9,0),MATCH(C4:C9,C4:C9,0))> 0,1))
但是,我现在正在使用自动过滤器,所以我现在需要它只对可见行求和.我已经读过我需要使用SUBTOTAL而不是SUM,但我不确定如何正确地改变上面的公式.
有任何想法吗?
我已经在Stack Overflow的其他地方读到了Excel问题在这里可以接受,所以请不要生气:)如果他们应该在其他地方,请告诉我...
我很沮丧,因为我很确定我曾经知道如何做到这一点.
想象一下下表:
Frequency Object
3 A
2 B
4 C
Run Code Online (Sandbox Code Playgroud)
在第三列中,我希望Excel写:
A
A
A
B
B
C
C
C
C
Run Code Online (Sandbox Code Playgroud)
(3 A因为A = 3的频率)
我很确定这可以通过在第三列中复制的单个公式来完成,但我不记得如何.有什么建议?
我有一张看起来像这样的桌子
A B
ID1 data 123
ID2 data 234
ID1 data 456
ID2 data 567
Run Code Online (Sandbox Code Playgroud)
我试图找到检索data 567ID2 的最佳方法.在ID2上使用MATCH(带选项0)或VLOOKUP(带选项FALSE)可以访问第一条记录,但我想检索最后一条记录.
我正在使用Excel 2010.
ps:我宁愿不使用VBA或操纵数据(排序......).
我正在编写一个宏以遍历一些记录,并希望进行for循环,以避免在循环时出现无限的机会,例如:
For i = 0 to COUNT
**do stuff with START_CELL.Offset(i,0)
Next
Run Code Online (Sandbox Code Playgroud)
我不记得如何从VBA进行计数,因此搜索将我发送到这里:使用VBA计数Column中的非空白单元格。一个建议是
n = Worksheets("Sheet1").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
Run Code Online (Sandbox Code Playgroud)
这似乎过于复杂,所以我做了一些进一步的挖掘,然后决定要使用:
COUNT = Application.WorksheetFunction.Count(COUNT_RANGE)
Run Code Online (Sandbox Code Playgroud)
该页面上的另一个示例 Application.WorksheetFunction.CountA(),但是现在我仍然很担心(偏执),我有理由避免使用它。有吗
谢谢大家
我有一个电子表格,大约有20种不同的纸张,由股票代码命名.因为这些是模板,所以每个工作表中的信息都在相同的单元格中找到.例如,无论工作表如何,当前年份的EPS始终位于单元格A55中.
我想构建一个摘要表,它将根据代码从模板中提取数据.因此,设想一个摘要表,其中包含A列中的代码(也是工作表名称)和B列中的公式,以引用列表中每个不同工作表中的相同位置.
我知道我可以构建一行,然后简单地将其复制并为每个工作表名称/自动收报机执行查找/替换,但似乎我应该能够自动化公式,以便这些知道查看A列,然后转到具有该名称的工作表,然后返回公式中引用的数据.这会使随着时间的推移更容易添加床单/代码.我试过= INDIRECT没有成功.
如何让公式引用摘要表中的A列,以便知道在哪个模板/表中查找信息?
excel formula worksheet-function excel-formula excel-indirect
excel ×10
count ×1
excel-2007 ×1
excel-vba ×1
formula ×1
if-statement ×1
perl ×1
subtotal ×1
sum ×1
vba ×1