Aggiorna un elenco Excel in modo dinamico senza utilizzare script

Aug 15 2020

Sono un po' bloccato e potrei aver bisogno di aiuto.

Sto cercando di mantenere un elenco in Excel aggiornato dinamicamente, in base alle condizioni in altre celle. Qualcosa sulla falsariga di (SE entrambi i valori di cella in A1 e A2 CORRISPONDONO ai valori di cella in A3 e A4, restituisci A5). Idealmente mi piacerebbe usare solo formule e nessuno script, ma non sono sicuro che sia possibile.

Ecco uno scenario. Gina (A3) ha un carrello con 6 articoli (B3:B8): Limone, Dentifricio, Brownie, Spazzola per capelli, Uva, Sandwich –

Il cestino di Gina

A Gina e alle sue amiche piace scambiarsi le cose tra loro, e quando lo fanno registrano ogni scambio (D3:F5) –

registro degli scambi

Quello che sto cercando di fare è capire come aggiornare il carrello della spesa di Gina ogni volta che registra un nuovo scambio.

Inoltre, deve consentire di scambiare lo stesso oggetto due volte (per oggetti diversi in ogni occasione) tenendo conto solo della voce più recente scambiata per quell'oggetto - in questo caso riceve un'arancia nel suo carrello -

in questo caso riceve un'arancia nel cestino no, non un cupcake

Ho provato varie combinazioni di IF, AND, MATCH e INDEX con la seconda colonna duplicata, o rimanendo bloccato in dipendenze circolari, e non riesco ad arrivare fino in fondo.

Ecco un link al foglio di lavoro:https://docs.google.com/spreadsheets/d/17J-lX2V1Zs-K7WmsfruqcEJtmElM5rCQTeCLFh8FX1U/edit?usp=sharing

Se qualcuno ha qualche idea su come risolvere questo, sarei enormemente grato!

Grazie Jimmy

Risposte

1 RajeshS Aug 16 2020 at 15:12

:: Avvertimento ::

Poiché OP non necessita di una soluzione basata su VBA MACRO, quindi in queste circostanze la possibilità che ho trovato è l'utilizzo di poche formule ARRAY (CSE) e formattazione condizionale. Forse, quell'altro potrebbe suggerirne uno migliore.


Come funziona:

  • Gli oggetti scambiati e la lista del droghiere sono TABELLA.

Non appena aggiungi o rimuovi il nome o l'elemento dalla TABELLA, Excel aggiornerà automaticamente i dati correlati.

  • Oltre al carrello della spesa e agli articoli scambiati , è necessario creare anche l'elenco del droghiere .

  • Non appena qualcuno acquista un oggetto, devi AGGIORNARE il tavolo del droghiere .

Controlla l'elenco dei vecchi oggetti, sono acquistati da GINA e altri.

  • Crea un elenco a discesa nella cella P17, attualmente ha solo 3 nomi, puoi aggiungerne altri.

Se disponi di un vasto elenco di acquirenti, per ottenere un elenco unico puoi utilizzare una delle formule.

  • Una formula di matrice (CSE) nella cella P28:

     {=IFERROR(INDEX($U$17:$U$30, MATCH(0, INDEX(COUNTIF($P$27:P27, $U$17:$U$30)+($U$17:$U$30=""), ), 0)), "")}
    
  • Per versioni superiori è possibile utilizzare questo in P28:

    =UNIQUE(FILTER(U17:U30,U175:U30<>""))

Quindi utilizzare l'elenco degli acquirenti per uso unico per il menu a discesa nella cella P17.

  • Ora usa questa formula di matrice (CSE) nella cella Q17:

    {=IFERROR(INDEX($T$17:$T$30, SMALL(IF(COUNTIF($P$17, $U$17:$U$30)*COUNTIF($U$17:$U$30,"<>"), ROW($T$17:$U$30)-MIN(ROW($T$17:$U$30))+1), ROW(A1)), COLUMN(A1)),"")}
    
  • Una formula di matrice (CSE) nella cella R17:

    {=IFERROR(INDEX($N$17:$N$22, SMALL(IF(COUNTIF($P$17, $L$17:$L$22)*COUNTIF($N$17:$N$22,"<>"), ROW($L$17:$N$22)-MIN(ROW($L$17:$N$22))+1), ROW(A1)), COLUMN(A1)),"")}
    
  • Applicare la formattazione condizionale, utilizzando la formula mostrata di seguito come Nuova regola, su Q17:Q25:

    =COUNTIF($N$17:$N$22,Q17)=0


NB

  • Completare la formula dell'array (CSE) con Ctrl+Maiusc+Invio e compilare nella direzione richiesta.

  • L'elenco dei nuovi oggetti mostra gli oggetti scambiati (scambiati).

  • Il vecchio elenco ha gli articoli in ROSSO, sono articoli non scambiati, poiché puoi trovare CINQUE articoli acquistati da GINA (controlla l'elenco del cliente nella colonna U) e scambiati solo DUE, sono Avocado e sigari.

  • Continua a cambiare i nomi nella cella P17, ottieni risultati.

  • Regola i riferimenti di cella nella formula secondo necessità.