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

Google Sheet日历日期预订状态判断公式及网站展示组件咨询

Google Sheet 公式实现方案

核心逻辑公式

假设你的表格布局:

  • 日历日期列:CALENDAR_DATE(示例为A2:A区域)
  • 活动数据集:STATUS(E2:E)、EVENT_START_DATE(F2:F)、EVENT_END_DATE(G2:G)

Booked列判断公式

在Booked列的第一个数据单元格(比如B2)输入以下公式,下拉填充至所有日历行:

=SUMPRODUCT(--(E$2:E$100="Booked"),--(A2>=F$2:F$100),--(A2<=G$2:G$100))>0

说明:

  • 遍历所有标记为"Booked"的活动,检查当前日历日期是否落在活动的起止区间内
  • --将布尔判断结果转为数值,SUMPRODUCT累加符合条件的记录数,只要结果>0就返回TRUE(表示该日期被预订)

Available列判断公式

直接基于Booked列的结果反向输出:

=NOT(B2)

或者独立编写:

=SUMPRODUCT(--(E$2:E$100="Booked"),--(A2>=F$2:F$100),--(A2<=G$2:G$100))=0

自动填充优化版(无需下拉)

如果日历日期会动态新增,用ARRAYFORMULA实现自动计算:

Booked列(B2单元格):

=ARRAYFORMULA(IF(A2:A="",,SUMPRODUCT(--(E$2:E="Booked"),--(A2:A>=F$2:F),--(A2:A<=G$2:F))>0))

Available列(C2单元格):

=ARRAYFORMULA(IF(A2:A="",,NOT(B2:B)))
网站日历可用性展示方案

以下是几种实用的实现方式:

  • Google Apps Script + 自定义HTML组件:编写脚本读取Sheet数据,生成包含可用性标记的HTML日历,直接嵌入网站。借助SpreadsheetApp API获取预订数据,用原生HTML/CSS或轻量日历逻辑渲染视图。
  • Sheet发布 + 前端日历组件:将Sheet的可用性数据发布为公开可访问的CSV/JSON,用前端日历组件读取并渲染预订状态。需确保Sheet设置为「任何人可查看」权限。
  • WordPress专属插件:若使用WordPress建站,可选用支持Google Sheets关联的日历插件,直接同步数据并展示可用/不可用日期。
  • 低代码平台组件:Webflow、Bubble等平台的第三方日历组件支持直接连接Google Sheets数据源,通过可视化配置即可完成可用性展示。

内容的提问来源于stack exchange,提问作者Louis Gaulin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 15:40:21