Excel: conteggio di frasi uniche, separate da barre


0

Ho alcuni dati di Excel che assomigliano un po 'a questo:

John / Tim      Upheld
Sam             Upheld
Tim / Dave      Upheld
Sam / John      Not Upheld
Tim             Not Upheld
Dave / Tim      Upheld

Come posso fare quanto segue in Excel, se posso affatto?

  1. Conta ogni nome univoco separato da barre nella colonna A e ordinali in base all'ordine delle occorrenze (quindi Tim [4], Dave [2], Sam [2], John [1]).
  2. Conta il numero di volte in cui ciascun nome univoco appare con 'Upheld' nella colonna B (quindi Tim [3], Dave [2], John [1], Sam [1]).

Questo sarebbe forse meglio se si usasse uno script Python o simile?


Hai solo due nomi separati da barre o potrebbe essere un numero qualsiasi di nomi?
Ian Turner,

Potrebbe essere qualsiasi numero ...
AP257,

Risposte:


0

Qualcosa potrebbe certamente essere combinato tra loro usando le formule di array, ma probabilmente sarebbe piuttosto disordinato. Non vorrei avere una pugnalata senza sapere quante righe ci sono, questo numero è fisso, i nomi sono conosciuti in anticipo, i nomi cambieranno nel tempo ecc.

Avrei pensato che fosse meglio farlo in uno script con qualche descrizione, VBA sarebbe probabilmente la scelta logica.


0

Mettendo i tuoi dati nell'intervallo A1: B6, e il nome è l'intervallo C1: C4 la formula dell'array (inserisci con Ctrl+ Shift+ Enteranziché solo kbd> Invio) in D1, quindi copia la colonna

= SUM (IF (ISNUMBER (FIND (C1, $ A $ 1: $ A $ 6)), 1,0))

dà le risposte corrette alla prima parte.

La seconda parte diventa quindi più complicata ...

Invece di usare le formule di array, potresti semplicemente usare un carico di colonne extra, due per ogni nome.

Quindi inizierebbero le due colonne per John:

IF = (VAL.NUMERO (FIND ( "John", $ A1)), 1,0)

e

= IF (AND (ISNUMBER (FIND ( "John", $ A1)), B1 = "accoglimento"), 1,0)

Le tue risposte sono quindi solo i totali delle colonne (che, per ordine, potrebbero essere nascosti e i totali utilizzati in una bella tabella di riepilogo).

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.