QUERY + BYROW + LAMBDA 将日期显示为原始数字而不是原始值

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

我在同一个电子表格中有两张表:

  1. 一个包含事件列表的“数据库”,每行包含日期、事件名称和受让人等信息

  2. 一个“视图”,我想在其中显示分配给特定人员的所有事件的列表,以及每个事件的日期和名称

我还希望将结果连接在一个单元格中,而不是像默认情况下那样跨越多行。

我已经成功实现了我想要的目标,唯一的问题是

在连接结果中

从“数据库”表中查询的日期显示为原始数字而不是像原始值一样显示为格式化值价值! 这是说明我的意思的屏幕截图:

A screenshot showing the formula I'm using, along with expected and actual results. 这是我正在使用的公式:

QUERY()

我尝试将 

=JOIN(CHAR(10); BYROW(QUERY('Programme local'!A:E; "SELECT A, D WHERE B MATCHES '.*\b" & A$1 & "\b.*'"; 0); LAMBDA(row; JOIN(" - "; row))))

添加到

FORMAT A 'dd-MMM-yyyy'
以强制格式化,但没有任何更改。
    

google-sheets google-sheets-formula spreadsheet
1个回答
0
投票

由于您没有提供

QUERY()

,我假设您的数据如下所示:

123
A B C D E
一月。 31 正确 描述1
二月1 正确 描述2
二月2 错误 DESC 3
以下是显示正确日期格式的公式:

sample data

随意编辑
=LET(a; QUERY(A1:E3; "SELECT A, D WHERE B = TRUE"); JOIN(Char(10); BYROW(a; LAMBDA(x; TEXT(index(x;;1); "dd-MMM-yyyy") & "-" & index(x;;2)))))

以使其与您的原始语法相匹配。



预期输出:

WHERE B = TRUE

注意:
输出位于单个单元格中

参考文献

    文字
  • 查询
© www.soinside.com 2019 - 2024. All rights reserved.