Condividi tramite

For Loop in Excel

Anonimo
2023-03-06T10:14:42+00:00

Gentili tutti,

Avrei bisogno di individuare un modo secondo cui, all'interno di un range definita venga riprodotta la formula seguente. Per meglio esprimermi, come vedete dal codice si tratta di una somma di vlookup successivi, aumentando a step di 2 la colonna di riferimento di ciascun addendo. Vorrei quindi compattare la sequenza di somme in un'unica formula per renderla più snella.

Immagino il risultato come un ciclo for all'interno di margini definiti.

Spero di essere stato chiaro.

Grazie

(VLOOKUP($B15;'Foglio1'!$B$4:$Q$112;6;FALSE)*IFERROR(VLOOKUP(VLOOKUP($B15;'Foglio1'!$B$4:$Q$112;5;FALSE);'3_GWP compound ingredients_2022'!$B$3:$K$17;MATCH(H$3;'Foglio2'!$B$3:$K$3;0);FALSE);0))+(VLOOKUP($B15;'Foglio1'!$B$4:$Q$112;8;FALSE)*IFERROR(VLOOKUP(VLOOKUP($B15;'Foglio1'!$B$4:$Q$112;7;FALSE);'Foglio2'!$B$3:$K$17;MATCH(H$3;'3_GWP compound ingredients_2022'!$B$3:$K$3;0);FALSE);0))+...
Microsoft 365 e Office | Excel | Altro | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2023-03-06T11:02:15+00:00

Ciao

Sono AnnaThomas e sarei felice di aiutarti con la tua domanda. In questo forum, siamo consumatori Microsoft proprio come te.

Puoi usare VBA per questo:

Sub VLookupLoop() Dim i come intero Formula Dim come stringa Intervallo DimToSum As Range

Set rangeToSum = Range("H4:H10") 'cambia questo nell'intervallo che vuoi sommare

formula = "="

Per i = 1 Per rangeToSum.Cells.Count formula = formula & "CERCA.VERT($B 15;'Foglio1'!$B$4:$Q$112," & (i * 2) + 4 & ",FALSE)*SE.ERRORE(CERCA.VERT(CERCA.VERT($B 15;'Foglio1'!$B$4:$Q$112," & (i * 2) + 3 & ",FALSO),'3_GWP composto ingredients_2022'!$B$3:$K$17,MATCH(H$3,'Foglio2'!$B$3:$K$3,0),FALSO),0)"

Se i < rangeToSum.Cells.Count Then formula = formula & "+" End If Next i

Range("H11"). Formula = formula End Sub

Modify the rangeToSum variable to the range that you want to sum (e.g., "H4:H10"). You can also use this formula

=SUMPRODUCT(VLOOKUP($B15,'Sheet1'!$B$4:$Q$112,{6,8,10,12,14,16},FALSE)*IFERROR(VLOOKUP(VLOOKUP($B15,'Sheet1'!$B$4:$Q$112,{5,7,9,11,13,15},FALSE),'3_GWP compound ingredients_2022'!$B$3:$K$17,MATCH(H$3,'Sheet2'!$B$3:$K$3,0),FALSE),0))

I hope this helps ;-), let me know if this is contrary to what you need, I would still be helpful to answer more of your questions.

Best Regards,

AnnaThomas

Give back to the community. Help the next person with this problem by indicating whether this answer solved your problem. Click Yes or No at the bottom.

Questa risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o espressioni strane.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

0 risposte aggiuntive

Ordina per: Più utili