使用QUERY+BYROW+LAMBDA时日期显示为原始数字而非格式化值的问题
解决Google Sheets日期合并显示为原始数字的问题
问题原因
你在QUERY里加的FORMAT A 'dd-MMM-yyyy'之所以无效,是因为QUERY返回的数组中,日期仍以原始序列号(数字)形式存储,FORMAT仅设置单元格的显示格式,但BYROW处理时读取的是原始数值,而非格式化后的文本。
修改后的可用公式
直接在LAMBDA处理逻辑里用TEXT函数把日期序列号转成指定格式的文本,替换原公式即可:
=JOIN(CHAR(10); BYROW(QUERY('Programme local'!A:E; "SELECT A, D WHERE B MATCHES '.*\b" & A$1 & "\b.*'"; 0); LAMBDA(row; JOIN(" - "; TEXT(INDEX(row,1),"dd-MMM-yyyy"); INDEX(row,2)))))
关键说明
TEXT(INDEX(row,1),"dd-MMM-yyyy"):提取每行的日期(row的第一个元素),将其从数字序列号转换为dd-MMM-yyyy格式的文本- 记得给存放公式的单元格开启自动换行(右键单元格→设置单元格格式→对齐→勾选自动换行),否则CHAR(10)的换行指令不会生效
内容的提问来源于stack exchange,提问作者Mickäel A.
相关产品推荐
相关产品推荐

