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

如何在E1单元格用单个公式根据B列日期批量填充对应星期名称

问题背景
  • 当前已在D1单元格输入如下公式,提取B列非空日期值填充至D列:
    =QUERY(B2:B;"SELECT * where B is not null";-1)
  • 待实现需求:仅在E1单元格输入单个公式,即可根据对应日期批量填充星期名称,无需在E2输入公式后下拉复制到整列。
  • 已知可实现效果但不符合要求的方案:在E2单元格输入=TEXT(B2;"DDDD")后下拉填充整列。
  • 初步猜想:方案需要组合ARRAYFORMULA、QUERY、TEXT类函数实现,但不确定具体组合写法。
实现方案

直接选择以下任意一个公式粘贴到E1单元格即可生效,适配你当前使用的表格参数分隔规则:

方案1:匹配D列已提取的日期结果

通过ARRAYFORMULA实现整列批量运算,自动和D列的日期行对齐,公式如下:
=ARRAYFORMULA(IF(D2:D="";;TEXT(D2:D;"DDDD")))
逻辑说明:

  • ARRAYFORMULA可以让原本只支持单单元格计算的函数对整块区域批量执行运算,不需要逐行下拉填充
  • IF(D2:D="";;TEXT(...))做判空处理,D列无日期的行E列自动留空,不会返回错误值
  • TEXT(D2:D;"DDDD")负责将日期格式化为完整星期名称

方案2:不依赖D列,直接从B列生成结果

利用QUERY自带的FORMAT格式化子句,在提取B列非空值的阶段直接输出星期文本,不需要额外嵌套其他函数,公式如下:
=QUERY(B2:B;"SELECT * where B is not null FORMAT B 'DDDD'";-1)
该公式输出的星期顺序和D列提取的日期顺序完全一致,不会出现行错位问题。

内容的提问来源于stack exchange,提问作者Mountain Spring

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 06:03:36