在 Excel 2003 中,我试图记录一些零用现金,并在顶行设置面额,以及小计和差额列。我想要一个小部分来显示我应该有多少卷硬币,方法是取总金额,除以一卷硬币的数量,然后四舍五入到最小整数。这部分很好。
我想要做的是,根据最后一行包含的信息,确定我应该拥有的那一个部分(多少卷)。例如,如果最后一行是第 13 行,它应该从B13
、C13
、D13
等处读取数据。
如果解决方案需要,我不介意学习宏。不过我不想每次都手动选择最后一行,我只想让工作表自动知道。
编辑:我的意思是,我想要为公式选择最后的单元格,用最后一行INT(B2/25)
替换B2
,以及 2-6 之间的数字(取决于单元格)。
答案1
假设 B 列中没有跳过的行,这将返回 B 列中最后使用的单元格的值。
=INDIRECT("B" &ROWS(A:A)-COUNTBLANK(INDIRECT("B" & ROW()+1 &":B" & ROWS(A:A))))
因此,完成的公式将是这样的:
=INT(INDIRECT("B" &ROWS(A:A)-COUNTBLANK(INDIRECT("B" & ROW()+1 &":B" & ROWS(A:A))))/25)
这是使用ROWS(A:A)
而不是硬编码行数,以便当您从 Excel 2003 升级时它仍然有效。
它的用途Row()+1
是,您可以自由地将其放置在 B 列本身中,而不会出现循环引用的问题。
Row()+1
因为如果将其放置在 B 列最后一个值的行下方的行中,它将无法正常工作。