Microsoft Excel - 如何在列中自动填充公式?

时间:2011-10-25 20:27:14

标签: excel automation formula excel-formula excel-2010

Longevity,EmployeeID,StartDate,EndDate

我将一堆数据粘贴到工作表(单元格B1-Dn)中,我需要A1-An(长寿)的公式来自动计算输入的每个员工的结果。

我正在使用Microsoft Excel 2010。

目前,我使用的公式是:

=IF ( C1 , IF ( D1 , D1-C1 , TODAY()-C1 ) , "")

这很好用,除了我必须在A列中手动添加/删除具有此公式的单元格以匹配在任何给定时间输入的行数。这非常耗时,并且管理层在使用此报告时难以理解。 :)

有没有办法说“每行包含数据,在A栏中获取此公式”?

我一直在网上研究这个问题,并找到了各种答案。最突出的答案是使用具有默认值的下拉列表,但我认为这不适用于默认公式

2 个答案:

答案 0 :(得分:3)

使用数据表可以帮助您确保公式涵盖整个范围。

第一步:

粘贴数据(无公式)

第二步:转到插入 - >表格你应该得到一个类似于

的对话框

Table dialog

现在将您的公式放在相邻列中。您会注意到表格格式将自动扩展到公式所在的位置,并且公式将自动复制到数据集的底部。

第三步:

将更大的数据集复制到表格中....您会注意到公式会使用新的扩展数据集进行复制。

请注意,如果粘贴较小的数据集,则不会调整表的大小。

答案 1 :(得分:1)

如果我理解你需要什么,那么也许你应该尝试一下。 在A列的每个单元格中(如果其他列包含数据,您需要存在公式),请添加以下公式:

=IF( AND( NOT(ISBLANK(B:B)),NOT(ISBLANK(C:C)),NOT(ISBLANK(D:D)) ),
     IF ( $C1 , IF ( $D1 , $D1-$C1 , TODAY()-$C1 ) , ""),"" )

更确切地说,您应该在A1单元格中添加此公式,然后自动填充所有A列。

或者,您可以尝试在A1单元格中设置下面的公式,然后自动填充A列的其余部分。

=IF( AND( NOT(ISBLANK(B1)),NOT(ISBLANK(C1)),NOT(ISBLANK(D1)) ),
     IF ( $C1 , IF ( $D1 , $D1-$C1 , TODAY()-$C1 ) , ""),"" )