Generación de una lista de ocurrencia de palabras clave (Microsoft Excel)
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.