53 colonne del tempo, alcune vuote e altre piene. Come scrivo una formula assicurando che la colonna riempita più alta sia> rispetto alla colonna riempita successiva ecc.Se ho centinaia di righe, ogni riga è un biglietto di lavoro separato, ogni riga può avere fino a 53 colonne temporali compilate, ma la maggior parte ha solo alcune di queste colonne compilate e quelle intermedie sono vuote.
Quindi diciamo per la riga 1: ho la colonna 1, la colonna 23 e la colonna 36 sono le uniche colonne che contengono un timestamp, avrò bisogno di sapere che 36>23 e 23>1.
Per la riga n. 2 tutte le colonne hanno timestamp, quindi avrò bisogno di sapere che [53>52,............,2>1].
Grazie
Fiona
Tabella datiRe: 53 colonne del tempo, alcune vuote e altre piene. Come scrivo una formula assicurando che la colonna riempita più alta sia> rispetto alla colonna riempita successiva ecc.Tanto per chiarire; Dovrebbero essere tutti corretti, quindi penso che il modo più semplice sia avere una colonna di segnalazione che visualizzerà un "1" alla fine di ogni riga dove sopra non è il caso.
Re: 53 colonne del tempo, alcune vuote e altre piene. Come scrivo una formula assicurando che la colonna riempita più alta sia> rispetto alla colonna riempita successiva ecc.Non sono esattamente sicuro che questo sia ciò che desideri, ma lo script seguente esegue la scansione delle colonne e si assicura che tutti i valori della data aumentino rispetto alla data precedente.In caso contrario, inserisce il nome della colonna che ha rilevato una data precedente alla data precedente.
Names Default To Here( 1 );
dt = Current Data Table();
If( Try( dt:flag << get name, "" ) == "",
dt << New Column( "Flag", Character )
);
For( rowNum = 1, rowNum <= N Rows( dt ), rowNum++,
For( startCol = 1, startCol <= N Cols( dt ), startCol++,
If( Is Missing( Column( startCol )[rowNum] ) == 0,
holdVal = Column( startCol )[rowNum];
Break();
)
);
For( col = startCol + 1, col <= N Cols( dt ) - 1, col++,
If( Is Missing( Column( Col )[rowNum] ) == 0,
If( Column( Col )[rowNum] < holdVal,
dt:Flag[rowNum] = (Column( Col )) << get name;
holdVal = Column( col )[rowNum];
Break();
,
holdVal = Column( Col )[rowNum]
)
)
);
);