Domanda

In effetti voglio dare punteggi numerici ai voti alfabetici e sommarli.In Excel, inserendo il file LOOKUP funzione in una formula di matrice funziona:

{=SUM(LOOKUP(grades, scoringarray))}

Con il VLOOKUP funzione questa non funziona (ottiene solo il punteggio della prima elementare).I fogli di calcolo Google non sembrano avere il file LOOKUP funzione e VLOOKUP fallisce allo stesso modo utilizzando:

=SUM(ARRAYFORMULA(VLOOKUP(grades, scoresarray, 2, 0)))

O

=ARRAYFORMULA(SUM(VLOOKUP(grades, scoresarray, 2, 0)))

È possibile farlo (ma ho sbagliato la sintassi)?Potete suggerire un metodo che consenta di avere il calcolo in una cella semplice come questa invece di nascondere le ricerche da qualche altra parte e sommarle successivamente?

È stato utile?

Soluzione 3

Non riesco ancora a vedere le formule nel tuo esempio (solo valori), ma è esattamente quello che sto cercando di fare in termini di risultato;ovviamente posso già farlo "a lato" e sommare separatamente: la chiave per me è farlo in una cella.

L'ho guardato di nuovo stamattina, usando il file MATCH la funzione per la ricerca funziona in una formula di matrice.Ma poi il INDEX la funzione no.Ho anche provato a usarlo con OFFSET E INDIRECT senza successo.Infine, il CHOOSE la funzione non sembra accettare un intervallo di celle come elenco da cui scegliere: l'intervallo si riduce a un singolo valore (la prima cella dell'intervallo).Va inoltre sottolineato che il CHOOSE la funzione accetta solo 30 valori tra cui scegliere (secondo la documentazione).Tutto molto fastidioso.Tuttavia, ora ho una soluzione funzionante in una cella:usando il CHOOSE funzione ed elencando esplicitamente le celle del risultato una per una negli argomenti come questo:

=ARRAYFORMULA(SUM(CHOOSE(MATCH(D1:D8,Lookups!$A$1:$A$3,0),
                                     Lookups!$B$1,Lookups!$B$2,Lookups!$B$3)))

Ovviamente questo non si estende molto bene, ma si spera che le tabelle di ricerca siano per natura abbastanza fisse.Per tabelle di ricerca più grandi è complicato digitare tutte le celle individualmente e alcune persone potrebbero superare il limite di 30 celle.

Avrei sicuramente gradito una soluzione più elegante!

Altri suggerimenti

Temo di pensare che la risposta sia no.Dal testo di aiuto in poihttp://docs.google.com/support/spreadsheets/bin/answer.py?answer=71291&query=arrayformula&topic=&type=

Il vero potere di ARRAYFORMULA arriva quando prendi il risultato di uno di questi calcoli e lo avvolgi in una formula che accetta argomenti di matrice o intervallo:SOMMA, MAX, MIN, CONCATENA,

Poiché vlookup richiede una singola cella per la ricerca (nel primo argomento), non penso che tu possa farlo funzionare, senza utilizzare un intervallo separato di ricerche.

I fogli di calcolo Google non sembrano avere la funzione CERCA

Presumibilmente non allora, ma ha ora:

SO27774 example

grades Foglio1!A2:A4
scoringarray Foglio1!A2:B4

So che il thread è piuttosto vecchio, ma era da tempo che lottavo con lo stesso problema.Alla fine ho trovato una soluzione (beh, Frankenstiened insieme).È solo leggermente più elegante, ma dovrebbe essere in grado di lavorare senza problemi con set di dati di grandi dimensioni.

La soluzione utilizza quanto segue:

=ARRAYFORMULA(SUM(INDIRECT(ADDRESS(MATCH(), MATCH())))

come surrogato della funzione vlookup.

Spero che questo aiuti qualcuno!

puoi farlo facilmente in questo modo codificandolo nella tabella VR:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, {{"A", 6};
                                         {"B", 5};
                                         {"C", 4};
                                         {"D", 3};
                                         {"E", 2};
                                         {"F", 1}}, 2, 0)), ))

0

oppure puoi utilizzare alcune celle laterali con regole:

=SUM(IFERROR(ARRAYFORMULA(VLOOKUP(A2:A, E2:F, 2, 0)), ))

6


alternative: https://webapps.stackexchange.com/a/123741/186471

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