You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中提取指定姓名的预订日期并生成计费收据

Google Sheets 提取指定姓名日期并生成收据方案

一、提取指定姓名的所有预订日期

Lookup函数仅能返回单个匹配结果,要提取所有对应日期,可使用以下两种函数实现:

1. FILTER函数(直观易上手)

假设预订数据在Sheet1:A列存姓名,B列存原始日期
公式:

=FILTER(TEXT(Sheet1!B:B, "dd.mm"), Sheet1!A:A="srna")
  • TEXT(Sheet1!B:B, "dd.mm"):将原始日期转换为05.08的格式
  • Sheet1!A:A="srna":设置筛选条件,匹配姓名为srna的行
    执行后会自动列出所有符合条件的日期,保持原数据顺序。

若需将日期合并为一行逗号分隔的文本,用TEXTJOIN嵌套:

=TEXTJOIN(", ", TRUE, FILTER(TEXT(Sheet1!B:B, "dd.mm"), Sheet1!A:A="srna"))

2. QUERY函数(适合复杂筛选场景)

公式:

=QUERY(Sheet1!A:B, "SELECT TEXT(B, 'dd.mm') WHERE A='srna'")

通过类SQL语法完成筛选与日期格式化,结果和FILTER函数一致。

二、关联另一表格计算费用

假设费用数据在Sheet2:A列存日期(需与Sheet1原始日期格式一致),B列存单日费用

1. 批量获取对应日期的费用

用ARRAYFORMULA+VLOOKUP实现批量匹配:

=ARRAYFORMULA(VLOOKUP(FILTER(Sheet1!B:B, Sheet1!A:A="srna"), Sheet2!A:B, 2, FALSE))

该公式会返回每个匹配日期对应的费用,与提取的日期一一对应。

2. 计算总费用

直接对批量匹配的费用结果求和:

=SUM(ARRAYFORMULA(VLOOKUP(FILTER(Sheet1!B:B, Sheet1!A:A="srna"), Sheet2!A:B, 2, FALSE)))

三、生成含日期的收据

可新建工作表(命名为收据)进行排版,示例结构:

  • 客户姓名:srna(可直接输入或引用姓名单元格)
  • 预订日期:=TEXTJOIN(", ", TRUE, FILTER(TEXT(Sheet1!B:B, "dd.mm"), Sheet1!A:A="srna"))
  • 总费用:=SUM(ARRAYFORMULA(VLOOKUP(FILTER(Sheet1!B:B, Sheet1!A:A="srna"), Sheet2!A:B, 2, FALSE)))

若需要更正式的收据样式,可通过合并单元格、添加边框等操作优化排版。

内容的提问来源于stack exchange,提问作者Free Lancer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 20:23:22