我想使用以下公式按日期对列表库排序:
SortByColumns(
AddColumns(
Tabela4;
"CalcDate";
Max(
DateValue(Data)+Qtde_dias_para_contato;
DateValue(Data_cotação)+Qtde_dias_para_contato;
DateValue(data_contato_1)+Qtde_dias_para_contato;
DateValue(data_contato_2)+Qtde_dias_para_contato;
DateValue(data_contato_3)+Qtde_dias_para_contato;
DateValue(data_contato_4)+Qtde_dias_para_contato;
DateValue(data_contato_5)+Qtde_dias_para_contato;
DateValue(data_contato_6)+Qtde_dias_para_contato;
DateValue(data_contato_7)+Qtde_dias_para_contato;
DateValue(data_contato_8)+Qtde_dias_para_contato;
DateValue(data_contato_9)+Qtde_dias_para_contato;
DateValue(data_contato_10)+Qtde_dias_para_contato;
DateValue(data_contato_11)+Qtde_dias_para_contato;
DateValue(data_contato_12)+Qtde_dias_para_contato));
"CalcDate";
Ascending)
该代码有效,但我需要仅在列表具有确定值时才发生这种情况。
我尝试了以下代码:
SortByColumns(
AddColumns(
Tabela4;
"CalcDate";
If(
Tabela4.finalizado = "";
Max(
DateValue(Data)+Qtde_dias_para_contato;
DateValue(Data_cotação)+Qtde_dias_para_contato;
DateValue(data_contato_1)+Qtde_dias_para_contato;
DateValue(data_contato_2)+Qtde_dias_para_contato;
DateValue(data_contato_3)+Qtde_dias_para_contato;
DateValue(data_contato_4)+Qtde_dias_para_contato;
DateValue(data_contato_5)+Qtde_dias_para_contato;
DateValue(data_contato_6)+Qtde_dias_para_contato;
DateValue(data_contato_7)+Qtde_dias_para_contato;
DateValue(data_contato_8)+Qtde_dias_para_contato;
DateValue(data_contato_9)+Qtde_dias_para_contato;
DateValue(data_contato_10)+Qtde_dias_para_contato;
DateValue(data_contato_11)+Qtde_dias_para_contato;
DateValue(data_contato_12)+Qtde_dias_para_contato)));
"CalcDate";
Ascending)
但它不起作用。如何编写此代码?
理解正确,如果Tabela4.finalizado
为空,您希望按计算日期排序。如果它不为空,您希望发生什么?如果预期结果是不对结果进行排序,则可以在 SortByColumns 之外使用 If 表达式:
If(
Tabela4.finalizado = "";
SortByColumns(
AddColumns(
Tabela4;
"CalcDate";
Max(
DateValue(Data)+Qtde_dias_para_contato;
DateValue(Data_cotação)+Qtde_dias_para_contato;
DateValue(data_contato_1)+Qtde_dias_para_contato;
DateValue(data_contato_2)+Qtde_dias_para_contato;
DateValue(data_contato_3)+Qtde_dias_para_contato;
DateValue(data_contato_4)+Qtde_dias_para_contato;
DateValue(data_contato_5)+Qtde_dias_para_contato;
DateValue(data_contato_6)+Qtde_dias_para_contato;
DateValue(data_contato_7)+Qtde_dias_para_contato;
DateValue(data_contato_8)+Qtde_dias_para_contato;
DateValue(data_contato_9)+Qtde_dias_para_contato;
DateValue(data_contato_10)+Qtde_dias_para_contato;
DateValue(data_contato_11)+Qtde_dias_para_contato;
DateValue(data_contato_12)+Qtde_dias_para_contato));
"CalcDate";
Ascending);
Tabela4)
请注意,If
条件有些奇怪。Tabela4 是一个表(即包含多个记录/行(,所以Tabela4.finalizado
不是字符串,它是一个字符串值表,所以上面的表达式将不起作用。
如果要按 finalizado = " 的行的计算日期排序,并且不显示其他行,则可以在对表进行排序之前对其进行筛选:
SortByColumns(
AddColumns(
Filter(Tabela4; finalizado = "");
"CalcDate";
Max(
DateValue(Data)+Qtde_dias_para_contato;
DateValue(Data_cotação)+Qtde_dias_para_contato;
DateValue(data_contato_1)+Qtde_dias_para_contato;
DateValue(data_contato_2)+Qtde_dias_para_contato;
DateValue(data_contato_3)+Qtde_dias_para_contato;
DateValue(data_contato_4)+Qtde_dias_para_contato;
DateValue(data_contato_5)+Qtde_dias_para_contato;
DateValue(data_contato_6)+Qtde_dias_para_contato;
DateValue(data_contato_7)+Qtde_dias_para_contato;
DateValue(data_contato_8)+Qtde_dias_para_contato;
DateValue(data_contato_9)+Qtde_dias_para_contato;
DateValue(data_contato_10)+Qtde_dias_para_contato;
DateValue(data_contato_11)+Qtde_dias_para_contato;
DateValue(data_contato_12)+Qtde_dias_para_contato));
"CalcDate";
Ascending)
如果您需要其他东西,请澄清您的问题,我们将能够为您提供帮助。