Martyn tiene una hoja de trabajo que incluye, en la columna B, bastantes palabras clave.

Cualquier celda individual puede tener cualquier número de palabras clave únicas, cada una separada por un espacio. Necesita una forma de generar una lista de palabras clave únicas junto con la cantidad de filas que contienen cada palabra clave.

No existe una forma sencilla de generar la lista de palabras clave mediante fórmulas. Sin embargo, puede hacer un trabajo rápido con dicha lista utilizando una macro. El siguiente es un ejemplo que hará el trabajo muy rápidamente.

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

Si la macro no funciona en su sistema, podría deberse a que Excel no reconoce el objeto Diccionario. Si sospecha que este es el caso, asegúrese de habilitar la biblioteca Microsoft Scripting Runtime dentro de VBA. (Haga esto en el Editor de Visual Basic haciendo clic en Herramientas | Referencias, localizando la biblioteca, haciendo clic en la casilla de verificación junto a ella y finalmente haciendo clic en Aceptar).

Para usar la macro, simplemente seleccione las celdas que contienen las palabras clave que desea contar (en el caso de Martyn, serían las celdas de la columna B) y luego ejecute la macro. Crea una nueva hoja de trabajo que enumera las palabras clave en la columna A y, en la columna B, cuántas veces aparece cada palabra clave.

Tal como está escrito, la macro no presta atención al caso de las palabras clave; esto significa, por ejemplo, que «naranja» es lo mismo que «naranja». Si desea que la lista de palabras clave distinga entre mayúsculas y minúsculas, simplemente debe eliminar la instrucción LCase; se usa solo una vez en la macro.

También debe tener en cuenta que las palabras clave se enumeran en la nueva hoja de trabajo en el orden en que aparecen en la selección que realiza antes de ejecutar la macro. Una vez en la hoja de trabajo, puede ordenar fácilmente las palabras clave, si lo desea.

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (13499) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.