如何在排序前使用条件 'if' 对列进行排序?
How can I sortbycolumns with a conditional 'if' before the sort?
我想使用以下公式按日期对列表库进行排序:
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)
该代码有效,但我需要只有当列 table 具有确定值时才会发生这种情况。
我试过这段代码:
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 是一个 table(即包含多个记录/行),因此 Tabela4.finalizado
不是字符串,它是一个 table 的字符串值,因此上面的表达式将不起作用。
如果您想按计算日期 对具有 finalizado = "" 的行进行排序,而不显示其他行,那么您可以过滤 table在排序之前:
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)
如果您还需要什么,请说明您的问题,我们将能够帮助您。
我想使用以下公式按日期对列表库进行排序:
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)
该代码有效,但我需要只有当列 table 具有确定值时才会发生这种情况。
我试过这段代码:
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 是一个 table(即包含多个记录/行),因此 Tabela4.finalizado
不是字符串,它是一个 table 的字符串值,因此上面的表达式将不起作用。
如果您想按计算日期 对具有 finalizado = "" 的行进行排序,而不显示其他行,那么您可以过滤 table在排序之前:
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)
如果您还需要什么,请说明您的问题,我们将能够帮助您。