Sommare in base a parte del contenuto di un’altra cella

Catia ha un foglio di lavoro che include informazioni relative a tutti i prodotti in magazzino. In questo foglio, gli identificativi del prodotto sono mostrati nella colonna A utilizzando il formato 12345 XXX, dove XXX rappresenta un codice di ubicazione. Ciò significa che potrebbe avere più voci nel foglio di lavoro per gli stessi prodotti, ma ciascuna voce rappresenta una posizione diversa per quel prodotto. Catia ha bisogno di una formula che sommi i valori associati a ciascun prodotto, indipendentemente dal codice di ubicazione. Pertanto, ha bisogno di un modo per sommare tra di loro le quantità relativamente, ad esempio, agli identificativi 12345 ABC, 12345 DEF, 12345 GHI, ecc. Ha bisogno di un modo per farlo senza spostare il codice ubicazione in una colonna diversa.

C’è più di un modo per ottenere la risposta desiderata. Per gli esempi in questo articolo, supponiamo che i numeri identificativi siano nella colonna A e che le quantità per ciascun identificativo siano nella colonna B. Sono queste quantità che devono essere sommate, basandosi solo su una parte di ciò che è in ciascuna cella nella colonna A. Il codice del prodotto desiderato (escluso il codice ubicazione) andrà inserito nella cella D2.

La prima possibile soluzione è utilizzare la funzione MATR.SOMMA.PRODOTTO, in questo modo:

=MATR.SOMMA.PRODOTTO(--(VALORE(SINISTRA(A2:A49;TROVA(" ";A2:A49)))=D2);B2:B49)

Questa formula controlla i valori nell’intervallo A2:A49. Dovresti assicurarti che questo intervallo rifletta l’intervallo dei tuoi dati effettivi. Se generalizzi la formula in modo che controlli le colonne intere A e B (scrivendo A:A e B:B), riceverai un errore #VALORE, poiché tenteresti di applicare la formula alle celle vuote nelle colonne.

Puoi ottenere un risultato simile usando una formula di matrice come questa:

=SOMMA(B:B*(SINISTRA(A2:A49;5)=TESTO(D2;"@")))

Ricorda, ancora una volta, che questa è una formula di matrice, quindi devi inserirla premendo Ctrl+Maiusc+Invio. Nota, inoltre, che questa formula converte il valore in D2 in testo per il confronto. Ciò non è stato fatto nella formula precedente perché la sottostringa selezionata dalla colonna A è stata convertita in un valore numerico utilizzando la funzione VALORE.

Puoi anche usare la funzione DB.SOMMA per costruire una formula funzionante. Supponendo che gli identificativi di prodotto (colonna A) abbiano un’intestazione di colonna nella cella A1. Copia questa intestazione di colonna (ad esempio “ID prodotto”) in un’altra cella del foglio di lavoro, ad esempio la cella D1. Nella cella D2, inserisci il numero identificativo, senza il relativo codice ubicazione, seguito da un asterisco. Ad esempio, puoi inserire “12345*” (senza virgolette) nella cella D2. Con quella specifica impostata, puoi quindi utilizzare questa formula:

=DB.SOMMA($A$1:$B$49;$B$1;D1:D2)

Questa formula utilizza la specifica nella cella D2 (i caratteri 12345 seguiti da qualsiasi cosa) come chiave per sommare i valori della colonna B.

Infine, se nella cella D2 hai la stessa specifica utilizzata con l’approccio DB.SOMMA, potresti utilizzare una funzione SOMMA.SE molto semplice, in questo modo:

=SOMMA.SE(A:A;D2;B:B)

Si noti che questo approccio consente di utilizzare gli intervalli di colonna completi (A:A e B:B) nella formula.

Se i numeri identificativi (nella colonna A) non sono coerenti nel loro formato, è meglio creare una funzione definita dall’utente (UDF) per trovare le quantità. Ad esempio, se i numeri identificativi non sono sempre della stessa lunghezza o se possono contenere sia cifre che lettere o trattini, allora una UDF è la strada da percorrere. L’esempio seguente funziona alla grande; si basa sulla presenza di almeno uno spazio nel valore (Catia ha indicato che uno spazio separava il codice del prodotto dal codice della posizione).

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tags: , , , , , , , , , , , , , , , , , ,

Ti è stato utile?