【问题标题】:Fill previous row of a list automatically自动填充列表的上一行
【发布时间】:2021-11-02 11:29:09
【问题描述】:

我有一个包含交易详情的物品清单。列包含日期、项目名称、购买数量、购买率、销售数量、销售率等。

我已添加一列,指示此项目在列表中较早出现的行。如果项目名称在B列,我可以填写公式

=IFNA(MAX(FILTER(ROW(B:B),A:A<INDIRECT(ADDRESS(ROW(),1)),B:B=INDIRECT(ADDRESS(ROW(),2)))),0)

返回当前项目出现的行号。如果该项目当前是第一次出现,则该函数返回 0。这很好。

我想用公式填充整个列,以便在添加新行时填充或在更改项目名称时更新。我怎样才能实现它?

我尝试 QUERY 生成整个列,但无法获得结果。我的想法是这样的

=FILTER(<function>,B:B<>"")

你能推荐一些方法吗?

【问题讨论】:

  • 分享您的工作表的副本/样本

标签: google-sheets


【解决方案1】:

尝试:

=INDEX(IF(A:A="",,IFNA(VLOOKUP(
 B:B&COUNTIFS(B:B, B:B, ROW(B:B), "<="&ROW(B:B))-1, {
 B:B&COUNTIFS(B:B, B:B, ROW(B:B), "<="&ROW(B:B)), ROW(B:B)}, 2, 0), 0)))

或:

=INDEX(IFNA(IF(COUNTIFS(B:B, B:B, ROW(B:B), "<="&ROW(B:B))=1, 0, 
 VLOOKUP(B:B, {B:B, ROW(B:B)}, 2, 0))))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多