计算包含字符串的行的百分比,按月分组

问题描述 投票:0回答:1

我想计算包含“bend”一词的发票的百分比(按月分组)。我在 Excel 中有以下示例数据:

日期 发票号码 行项目
2024年8月1日 100 切割材料
2024年8月1日 100 切割和弯曲
2024年9月1日 200 ABC 部分
2024年9月1日 201 DEF 部分
2024年10月1日 300 切割和弯曲
2024年10月1日 300 弯曲零件
2024年3月10日 301 仅剪切

结果输出应该类似于:

弯曲百分比
08/2024 100%
09/2024 0%
10/2024 50%

我可以添加一个列来搜索“bend”一词,然后创建一个数据透视表来获取唯一的发票编号以及它们的任何行项目是否包含“bend”。但是,我不知道如何使用它来计算包含按月分组的弯曲的发票编号的百分比。

excel pivot-table
1个回答
0
投票

我知道可以使用更简单的公式来完成,但我仍在学习如何在 Excel 365 中思考:

=LET(
    data, A2:C8,
    dates, INDEX(data, , 1),
    invoices, INDEX(data, , 2),
    items, INDEX(data, , 3),
    months, TEXT(dates, "mm/yyyy"),
    unique_invoices, UNIQUE(invoices),
    contains_bend, IF(ISNUMBER(SEARCH("bend", items)), 1, 0),
    unique_months, UNIQUE(months),
    total_invoices_per_month, MAP(unique_months, LAMBDA(m, SUM(--(months = m)))),
    invoices_with_bend_per_month, MAP(unique_months, LAMBDA(m, SUM(--(months = m) * contains_bend))),
    percentages, invoices_with_bend_per_month / total_invoices_per_month,
    headers, {"Month","Percent with bend"},
    result, VSTACK(headers, HSTACK(unique_months, percentages)),
    result
)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.