我尝试使用 concat() 函数的返回作为 text() 函数的参数,但它只是返回 concat()

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

我在 Excel 中使用嵌套函数时遇到问题。我想以某种方式显示日期(例如“2024 年 4 月 15 日星期一”),因此我使用了 text() 。我还希望能够更改日期的语言,所以我编写了这个 lambda 函数:

formatted_date = LAMBDA(date; locale; 
    TEXT(date;
        CONCAT(
            CHAR(34); 
            "[$-"; 
            locale; 
            "]dddd, d mmmm rrrr;@"; 
            CHAR(34)
        )
    )
)

不幸的是,这就是该函数返回的内容:

[$-pl-PL]dddd, d mmmm rrrr;@

它没有给我任何错误。

当我将 CONCAT() 部分放在一个单元格中,并将 TEXT() 部分放在另一个单元格中并引用时,它工作得很好。但这不是最佳的,不是吗?

这不是我第一次遇到在 Excel 中嵌套两个函数的问题。我对此很陌生,并且有一些编程经验,但奇怪的是,如此简单的任务却如此困难。

请有人给我一个提示,如何在计算的每一步不使用额外单元格的情况下克服这个问题?

非常感谢。

excel excel-formula string-concatenation
1个回答
0
投票

您不需要

CHR(34
)。这在这里有效(基于美国英语的 Excel,因此分隔符和年份标记不同)

=LAMBDA(date,locale,TEXT(date,CONCAT("[$-",locale,"]dddd, d mmmm yyyy;@")))

使用:

=formatted_date(A2,B2)

© www.soinside.com 2019 - 2024. All rights reserved.