Hola,
Solo quiero asegurarme de que la siguiente instrucción anidada if funcionará correctamente. En este momento estoy recibiendo un error, así que pensé que podría tener que ver con la forma en que construí mi declaración anidada if:
If (ismissing(dt:newColumnName[k]), For Each Row(If(dt:colAutomatically <= colManually[k] & dt:colAutomatically >= colManuallyStart[k], dt:newColumnName = colInstructions[k], dt: newColumnName = colInstructions[k-1] || " & " || colInstructions[k]));
La sentencia de la sentencia if es:
(ismissing(dt:newColumnName[k])
Si esto es cierto, quiero que se ejecute la siguiente declaración:
For Each Row(If(dt:colAutomatically <= colManually[k] & dt:colAutomatically >= colManuallyStart[k], dt:newColumnName = colInstructions[k]
Si esto es falso, quiero que se ejecute la siguiente declaración:
dt: newColumnName = colInstructions[k-1] || " & " || colInstructions[k]));
Cualquier ayuda sería apreciada.
Hola,
Gracias por su respuesta, pero quiero la siguiente declaración:
dt:newColumnName = colInstructions[k - 1] || " & " || colInstructions[k];
estar dentro del bucle.
¿Hay alguna manera de evitar eso?
La expresión que se evaluará si el primer argumento evaluado como falso estaba dentro de la función For Each Row (). Esta estructura de código debe hacer lo que quieras:
If( Is Missing( dt:newColumnName[k] ),
For Each Row(
If( dt:colAutomatically <= colManually[k] & dt:colAutomatically >= colManuallyStart[k],
dt:newColumnName = colInstructions[k]
)
),
dt:newColumnName = colInstructions[k - 1] || " & " || colInstructions[k]
);