Foglio di calcolo: crea una colonna in base a una colonna ordinata per valori di un'altra


1

Voglio creare una nuova colonna di dati da una colonna ordinata per un'altra colonna.

È più facile da spiegare con un esempio. In realtà non è quello che sto facendo, ma penso che lo spieghi bene. Diciamo che la colonna A ha i nomi delle persone in ordine alfabetico:
Adam
Betty
Colin
Debbie

e la colonna B ha l'anno di nascita:
1985
1973
1954
1973

Vorrei creare una colonna C, che elenca i nomi delle persone in base al loro anno di nascita:
Colin
Betty
Debbie
Adam

Questo dovrebbe essere fatto in un modo senza cambiare o ordinare la colonna A o B.
Questo dovrebbe essere fatto in un modo che aggiornerà automaticamente la colonna C se la colonna A o B vengono modificate.

Grazie! (Sto lavorando in Excel su Windows 10 se fa alcuna differenza.)


Non riesco a capire esattamente cosa stai cercando di ottenere poiché sia ​​Nome che Anno di nascita sono già disponibili, meglio condividere l'output del desiderio !!
Rajesh S,

L'output desiderato è gli stessi dati della colonna A, ma in una colonna diversa e ordinati (elencati in un ordine diverso in base alle date nella colonna B)
Mark Green

Risposte:


0
Cx=INDIRECT(ADDRESS(COUNTIF(B:B,">=" & Bx),1))

I valori dell'anno di nascita devono essere unici.

Se i dati iniziano dalla riga con il numero maggiore di 1, aggiungi il numero corretto al valore COUNTIF ().


1
Cosa sono Cx & Bx !!
Rajesh S,

@RajeshS С 1 e B 1 , C2 e B2, ... ma non C 1 e B 2 .
Akina,

Scusa se non sono tornato alla mia domanda per un paio di giorni. Volevo che potesse far fronte a anni duplicati, se possibile. Ma sono incuriosito da questa funzione. Funziona (a parte il problema duplicato). Ma come sta tirando il testo dalla colonna A senza riferimento alla colonna A nella formula?
Mark Green

0

Ciò sarebbe facile se gli anni nella colonna B fossero unici, ma possiamo adeguarci per anni duplicati. In D1 inserisci:

=B1

e in D2 inserire:

=B2+COUNTIF(B$1:B1,B2)*0.001

e copia verso il basso. La colonna D replica la colonna B con i duplicati "in conflitto". Ciò consente alla MATCH()funzione di recuperare tutti i valori. Infine, in C1 inserisci:

=INDEX(A:A,MATCH(SMALL(D:D,ROWS($1:1)),D:D,0))

e copia verso il basso:

inserisci qui la descrizione dell'immagine


0

@Garry's Student per qualche motivo non ho trovato le formule di cui avevo bisogno prima. Quando non sono riuscito a tornare a questa pagina per un paio di giorni, un po 'più di ricerca mi hanno trovato la formula RANK. (Nell'ultimo Excel, RANK è deprezzato, quindi ho usato il più recente RANK.EQ. E poi ho pensato a VLOOKUP ma con un po 'più di ricerca ho trovato INDICE MATCH che sembra migliore, e anche tu l'hai usato.
Quindi ecco cosa sono venuto e come ho affrontato gli anni duplicati: nomi dei fogli di calcolo per anno

(Le mie formule iniziano dalla riga 2 a causa delle intestazioni)
Formula colonna C:

=RANK.EQ(B2,B$2:B$15,1)

È importante sapere come funziona la classifica. Se ci sono tre oggetti nella posizione numero 5, a tutti viene assegnato un rango di 5 e non ci saranno oggetti con un rango di 6 o 7. La posizione successiva è un rango di 8.

Colonna D formula:
nella prima cella

=C2

e nelle celle successive

=C3+COUNTIF(C$2:C2,C3)

Questo elimina la classifica duplicata. La classifica viene aumentata di 1 se nella lista è presente una posizione duplicata. Quindi a quei duplicati numero 5 verrà assegnato il grado 6 e 7. La

colonna E è semplicemente un elenco di numeri consecutivi, abbastanza facili da compilare automaticamente.

La formula della colonna F riunisce tutto:

=INDEX($A$2:$A$15,MATCH(E2,$D$2:$D$15,0))

Comunque volevo condividere ciò che avevo mentre funziona ed è un po 'diverso. Ma probabilmente la risposta di Garry's Student è migliore in quanto utilizza meno colonne per arrivarci. (Forse potrei combinarne alcuni e usare anche meno colonne con il mio metodo.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.