Domanda

Excel solitamente tratta le formule di formattazione condizionale come se fossero formule di matrice, tranne quando li si carica da un file di foglio di calcolo XML Excel 2002/2003.

Questo è solo un problema con il formato del foglio di calcolo XML di Excel 2002/2003...il formato Excel nativo funziona correttamente, così come il nuovo formato XML di Excel 2007 (xlsx).

Dopo aver caricato il foglio di calcolo, è possibile farlo funzionare correttamente selezionando l'intervallo formattato, accedendo alla finestra di dialogo Formattazione condizionale e facendo clic su OK, ma questo risolve solo il problema per la sessione.

Caso di prova:

Inserisci quanto segue in un nuovo foglio:

  A B C
1 N N N
2 x x x
3 x x x

Crea questa formula di formato condizionale sulle celle A1:C1 (la tua scelta di bei colori per il formato):

=(SUM(($A1:$C1="N")*($A$2:$C$2=A$3))>0)

Questa è una formula di matrice che si attiva per A1, B1 e C1 ogni volta che uno di essi ha una "N" e la cella nella riga 2 sotto la "N" è uguale alla cella nella riga 3 della colonna corrente.

(Questo è stato semplificato da un foglio di calcolo aziendale del mondo reale.Ci scusiamo per la complessità del caso di test, sto cercando di trovare un caso di test più semplice da presentare qui.)

E funziona...puoi modificare le N o le x nel modo che preferisci e la formattazione funziona perfettamente.

Salvalo come foglio di calcolo XML.Chiudi Excel e riapri il file.La formattazione ora è interrotta.Ora puoi attivare la formattazione condizionale solo se A1 è una "N" e A2 è uguale a A3, B3 o C3.I valori di B1, B2, C1 e C2 non hanno effetto sulla formattazione.

Ora seleziona A1: C1 e guarda la formula di formattazione condizionale.Esattamente lo stesso di prima.Premi OK.La formattazione condizionale riprende a funzionare e funzionerà durante l'intera sessione in cui il file sarà aperto.

Soluzioni alternative considerate:

  1. Fornire il file in formato Excel nativo (BIFF).Non è un'opzione, questi fogli di calcolo vengono generati al volo da un server Web e questa è solo una delle decine di tipi di cartelle di lavoro generate dinamicamente dal nostro sistema.

  2. Fornire il file nel formato XML nativo di Excel 2007 (xlsx).Non è un'opzione, la base utenti attuale non dispone di Office 2007 o del plug-in di compatibilità.

  3. Chiedere agli utenti di selezionare l'intervallo, accedere alla finestra di dialogo Formattazione condizionale e premere OK.Non è un'opzione in questo caso, utenti non sofisticati.

  4. Chiedere agli utenti di aprire il foglio di calcolo XML, salvarlo come XLS nativo, chiudere e riaprire il file XLS. Questo non funziona! La formattazione rimane interrotta nel formato XLS nativo se è stato caricato in modo interrotto da un file XML.Se il punto (3) sopra viene eseguito prima del salvataggio, il file XLS funzionerà correttamente.

Ho finito per riscrivere la formattazione condizionale per non utilizzare formule di matrice.Quindi immagino che a questo abbia "risposta" in una certa misura, ma è ancora un bug non documentato, anche se oscuro, nella gestione dei file XML da parte di Excel 2002/2003.

È stato utile?

Soluzione

Ho provato a ricreare il problema che descrivi.Ecco cosa ho trovato.

  • Potrebbe ricreare costantemente il problema utilizzando Excel 2003 su Windows XP quando si salva come foglio di calcolo XML.

  • Potevo non Riprodurre il problema utilizzando Excel 2003 su Windows XP quando si salva come foglio di calcolo XLS standard.

  • Potevo non Riprodurre il problema utilizzando Excel 2007 su Windows Vista quando si salva il file nel formato XLSX nativo.

  • Potevo non Riprodurre il problema utilizzando Excel 2007 su Windows Vista quando si salva il file nel formato XLS Excel 97-2003.

    (Nota: Tutte le istanze di Excel e Windows sono aggiornate con tutti gli aggiornamenti di Windows.)

Ho anche aggiunto una semplice formula di formattazione condizionale a ciascun test.In ogni caso, ha funzionato come previsto dopo aver salvato il file, chiuso Excel e riaperto il file.

Quindi la risposta sembra essere quella di utilizzare il formato file standard di Excel 2003 durante il salvataggio del file.

A proposito, questa è una formula di formattazione molto strana.È difficile immaginare come lo utilizzeresti.Deve trattarsi di un caso aziendale molto specifico e insolito.Ho anche la sensazione che manchi qualcosa nel tuo post.(Non ti sto accusando di essere disonesto, mi chiedo solo se potresti aver abbreviato la formula per migliorarne la leggibilità.) Se questa non è la esatto formula che stai utilizzando, modifica il tuo post originale con la formula completa e sarò felice di rivisitare questo problema.

Altri suggerimenti

Puoi trovare alcuni video tutorial per studiare da solo il problema della formattazione condizionale nelle seguenti pagine:formattazione condizionale

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