Domanda

Dati di esempio

     A            B
1  Date        Amount
2  Apr 1        $6,000
3  May 1        $4,250
4  June 1       $2,750
5  July 1       $1,000
6  Aug 1       -<*>.075   <- This Cell/Row
7  Sept 1     -<*>.2500

In una colonna di numeri (in realtà 100-200 righe), quando il valore cambia in negativo, ad es. se questi sono importi dovuti su un prestito, quando il prestito sarebbe pagato da. Nota la vera differenza tra i numeri varia in base a interessi, tasse, pagamenti una tantum ecc. Quindi non posso solo contare (totale / pagamento) = numero di mesi.

C'è un modo per usare le formule di Excel per determinarlo? Questo potrebbe essere il caso di richiedere VBA (che va bene) ma se posso evitarlo, mi piacerebbe.

È stato utile?

Soluzione

La funzione di corrispondenza restituisce un indice di intervallo

=MATCH(matchValue, range, matchType: 0=exact, 1=greater than, -1=less than


=MATCH(0, B2:B7, -1)

Corrisponde alla prima cella che è inferiore a 0 nell'intervallo B2: B7. Dai dati di esempio ciò restituirebbe 5

Utilizzare la funzione Offset per restituire una cella particolare in base al valore dell'indice

Altri suggerimenti

Utilizza la formula MATCH per determinare il numero di riga.

=MATCH(lookup value, lookup range, lookup type)
=MATCH(0,B1:B7,-1)

Dovrai utilizzare il tipo di corrispondenza -1, poiché i tuoi dati sono in ordine decrescente. Questa impostazione restituirà il valore più piccolo che è maggiore o uguale al valore di ricerca di 0.

In base ai tuoi dati, questo restituirebbe il numero di riga 5 . Ti aspetti di vedere il numero di riga 6 , quindi la formula deve essere estesa come segue.

=MATCH(0,B1:B7,-1)+1

Per determinare l'ID cella, è necessario racchiudere questa formula in una INDIRIZZO .

=ADDRESS(Row number, Column number)
=ADDRESS(MATCH(0,B1:B7,-1)+1,2)

Ciò restituirebbe il valore $B$6

Probabilmente sarebbe più utile restituire la data o il valore correlati. Questo può essere fatto con una formula OFFSET .

=OFFSET(A1,MATCH(0,B1:B7,-1),0)
=OFFSET(A1,MATCH(0,B1:B7,-1),1)

La prima formula restituirà la data in A6, 1 agosto

La seconda formula restituirà il valore in B6, -$0.075

Non sono sicuro che tu voglia fare.

Se vuoi evitare di avere un numero negativo puoi farlo:

=IF(YOUR_CELL_ACTUAL_FORMULA < 0 , 0, YOUR_CELL_ACTUAL_FORMULA)

Se vuoi sapere quando il numero diventa negativo puoi farlo:

=MATCH(0, YOUR_AMOUNT_RANGE, -1)

Questo ti darà il primo numero di riga quando l'importo è negativo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top