Google Sheets:基于客户与服务双条件提取对应费率值
在Google Sheets中根据客户和服务提取对应费率的公式方案
针对你需要从Rates工作表的客户-服务费率矩阵中,根据指定客户(如Client 3)和服务(如Service 2)提取对应费率的需求,这里提供两种实用公式方案:
方案1:INDEX + MATCH组合(兼容性强)
在Sheet1的目标单元格输入以下公式,即可精准提取对应费率:
=INDEX(Rates!$B:$Z, MATCH("Client 3", Rates!$A:$A, 0), MATCH("Service 2", Rates!$1:$1, 0))
公式说明:
MATCH("Client 3", Rates!$A:$A, 0):在Rates表的A列精准定位Client 3所在的行号MATCH("Service 2", Rates!$1:$1, 0):在Rates表的第一行精准定位Service 2所在的列号INDEX(Rates!$B:$Z, 行号, 列号):根据行号和列号交叉提取对应的费率值
方案2:XLOOKUP嵌套(更简洁)
如果你的Google Sheets支持新版XLOOKUP函数,可使用更简洁的嵌套写法:
=XLOOKUP("Service 2", Rates!$1:$1, XLOOKUP("Client 3", Rates!$A:$A, Rates!$B:$Z))
公式说明:
- 内层
XLOOKUP("Client 3", Rates!$A:$A, Rates!$B:$Z):先提取Client 3对应的整行费率数据 - 外层
XLOOKUP("Service 2", Rates!$1:$1, ...):从提取的行数据中匹配Service 2对应的费率值
灵活调整技巧
如果需要动态修改客户或服务,可将固定文本替换为单元格引用。比如客户名存在Sheet1的A1单元格,服务名存在B1单元格,公式可改为:
=INDEX(Rates!$B:$Z, MATCH(Sheet1!$A$1, Rates!$A:$A, 0), MATCH(Sheet1!$B$1, Rates!$1:$1, 0))
后续只需更新A1、B1的内容,就能自动提取对应费率。
内容的提问来源于stack exchange,提问作者David Mota Robles
相关产品推荐
相关产品推荐

