在 excel 中下拉公式块

Pull down a block of formulas in excel

在下图中,我有一个糟糕的计算器,目前我工作的公司正在使用它。因为所有内容都在同一列中,所以很难实现自动化。我创建了一个新的 table 将所有内容简化为单独的行,但因为这是 SOP 的一部分,所以现在仍然必须使用它。

因此,我想知道是否可以将 formulas/values.

的块复制下来

在所需的输出中,所有值都是基于绿色杂质名称的常量公式。本质上,绿色单元格定义了一组相同的公式,只是依赖于不同的杂质。计算通过使用杂质的名称在别处查找值并随后进行计算来进行。为了简单起见,我没有包含这些公式,但就像第一个块的更多上下文一样:

在中间,我基本上有这些“块”,在左侧,您可以看到杂质名称的源数据。

这不是解决问题的必要条件,但我确实遇到过类似的问题,并且过去对定位类似的问题很感兴趣。

我试过索引列和偏移值,但到目前为止还没有成功。

基本上我有 F3 = B3,当块被拉下时,F10 = B4,F17 = B5 等等。

我过去用这种方式复制块取得了一些成功,但不幸的是这里没有。我的另一个想法是创建一个辅助单元格,以某种方式只插入一个字符,例如"*" 然后基于此应用一个条件查找函数,但我还是不知道如何让它跳到源列中的下一个值。

如果有人做过类似的事情,我很想知道您的解决方案。

最后,尽管我认为我可以在 power 查询中生成这个 a。我真的不想这样做,因为无论如何,这是一种生成 table 的糟糕方法,而且我认为这里需要一些灵活性,以便用户可以按照他们的意愿实际输入数据,但是 power query 会刷新后删除它。所以我真的只是在寻找一个 excel 公式解决方案。

您可以以可行的方式编写您的引用公式。不过,IMO,仅根据显示的信息,复杂性超过了相对收益。

当然,物质的数量可能会变得庞大and/or这可能更像是一个纯粹的学术问题。 (你的 OP 没有澄清任何一个。)

假设数据如您的示例所示,则以下公式可以满足您的要求。注意:这就是它在单元格 D3 中的显示方式。

=INDEX($B:$B,COUNTIF(D:D2,"=ppm")+2)

它在做什么:
o 物质 table 的相对索引,基于先前在其上方 'ppm' 出现的物质
o 第一个实例有 none,因此从第 2
行获取数据 o 下一个实例有 1,因此从第 3 行获取数据,依此类推

你的 'Pull down' 当然会从 D3 开始。