Martyn ha un foglio di lavoro che include, nella colonna B, alcune parole chiave.

Ogni singola cella può avere un numero qualsiasi di parole chiave univoche, ciascuna separata da uno spazio. Ha bisogno di un modo per generare un elenco di parole chiave uniche insieme al numero di righe che contengono ciascuna parola chiave.

Non esiste un modo semplice per generare l’elenco di parole chiave utilizzando le formule. Tuttavia, puoi lavorare rapidamente su un elenco di questo tipo utilizzando una macro. Quello che segue è un esempio che farà il lavoro molto rapidamente.

Sub KeywordList()

Dim dTally As Dictionary     Dim rSource As Range     Dim c As Range     Dim d As Variant     Dim aKeys() As String     Dim J As Integer     Dim sTemp As String

Set dTally = New Dictionary     Set rSource = Selection     For Each c In rSource         ' Put all keywords in an array         aKeys = Split(c, " ")

For J = LBound(aKeys) To UBound(aKeys)

sTemp = LCase(Trim(aKeys(J)))

If Len(sTemp) > 0 Then                 If dTally.Exists(sTemp) Then                     ' Increment existing keyword                     dTally(sTemp) = dTally(sTemp) + 1                 Else                     ' Add new keyword and count                     dTally.Add sTemp, 1                 End If             End If         Next J         Erase aKeys     Next c

' Now have all the keywords in a dictionary object     ' Add a new worksheet to store the list     Worksheets.Add     Cells(1, 1) = "Keyword"

Cells(1, 2) = "Count"



J = 1     For Each d In dTally.Keys         J = J + 1         Cells(J, 1) = d         Cells(J, 2) = dTally(d)

Next d End Sub

Se la macro non funziona sul tuo sistema, potrebbe essere perché Excel non riconosce l’oggetto Dictionary. Se sospetti che sia così, assicurati di abilitare la libreria Microsoft Scripting Runtime in VBA. (Puoi farlo in Visual Basic Editor facendo clic su Strumenti | Riferimenti, individuando la libreria, facendo clic sulla casella di controllo accanto ad essa e infine facendo clic su OK.)

Per utilizzare la macro, seleziona semplicemente le celle che contengono le parole chiave che desideri conteggiare (nel caso di Martyn, sarebbero le celle nella colonna B) e quindi esegui la macro. Crea un nuovo foglio di lavoro che elenca le parole chiave nella colonna A e, nella colonna B, quante volte si verifica ciascuna parola chiave.

Come scritto, la macro non presta attenzione al caso delle parole chiave; questo significa, ad esempio, che “Orange” è uguale a “Orange”. Se si desidera che l’elenco delle parole chiave sia sensibile al maiuscolo / minuscolo, è sufficiente rimuovere l’istruzione LCase; viene utilizzato una sola volta nella macro.

È inoltre necessario tenere presente che le parole chiave sono elencate nel nuovo foglio di lavoro nell’ordine in cui si trovano nella selezione effettuata prima di eseguire la macro. Una volta nel foglio di lavoro, puoi facilmente ordinare le parole chiave, se lo desideri.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (13499) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.