Come ricavare la keyword density con Microsoft Excel

A differenza di Microsoft Word, Excel non offre una funzione per conteggiare il numerod i parole presente in una cella.Del resto la funzione di un foglio di calcolo è tutt'altra. Tuttavia, spesso e volentieri un foglio di calcolo ben si presta ad attività congiunte dove per ricavare i numeri è necessario fare alcune "considerazioni" a monte.keyword densityNel mio caso mi serviva uno strumento al volo che, dato una lista piuttosto nutrita di stringhe (leggi meta tag title) mi dicesse quanti caratteri e quante parole costituissero la stringa in questione, nonchè la prossimita' di una parola chiave rispetto al titolo.L'unica funzione tra quelle citate che era immediatamente disponibile era il conteggio dei caratteri che con Excel è facilmente ottenibile con la seguente formula:=LEN(REF)Dove al posto di REF va messo il riferimento della cella che ci interessa.Non credo che vado spiegato cosa il comando realmente faccia.

Di quante parole è formato il mio meta tag title?

Quanto al secondo quesito, per ottenere il risultato ho dovuto far ricorso – oltre che alla funzione sopra – anche con altri due comandi, il SUBSTITUTE e il TRIM.

Come dice la parola stessa, il SUBSTITUTE serve a sostituire all'interno di una stringa un testo con uno differente, mentre é compito del TRIM rimuovere gli spazi in eccesso immediatamente prima e dopo l'inizio di una stringa. Nulla di trascendentale quindi.

La sintassi del commando è = SUBSTITUTE (string,old_text,new_text,[times]) mentre quella del TRIM, è come per il comando LEN, ovvero solo il riferimento della cella che ci interessa.

Così se abbiamo una stringa " ciao come stai ", questa diventa "ciao come stai" (notate gli spazi).

E veniamo alla formula completa per trovare il numero di parole in una cella.

=LEN(TRIM(REF))-LEN(SUBSTITUTE(TRIM(REF)," ",""))+(LEN(REF)>1)

Ovviamente la formula fa qualche cosa in più di quanto dichiarato, compreso un controllo d'errore, che forse è superfluo spiegare.### Calcolare la densità del mio meta tag title. Il compito "difficile" è stato quello di calcolare la densità, non tanto per la formula matematica, quando per ottenere un foglio di lavoro semi-automatico che si basasse su di una cella di lavoro unica.Così sulla falsa riga della formula precedente (di cui ho utilizzato il valore come addendo) per l'operazione finale ecco cosa dovreste scrivere nella vostra cella per ricavare la densità del vostro meta tag title.

=(LEN(TRIM(MID(A2,1,IF(ISERR(FIND(B2,A2)), 0, FIND(B2,A2)))))-LEN(SUBSTITUTE(MID(A2,1,IF(ISERR(FIND(B2,A2)), 0, FIND(B2,A2)))," ",""))+IF(ISERR(FIND(B2,A2)), 0,1))/C2*100

La funzione tiene in considerazione del casing della parola chiave, ovvero maiuscole e minuscole fanno differenza e comunque presenta dei limiti strutturali. Ho infatti tenuto conto solo della prima occorrenza trovata. Se quindi il vostro titolo contiene "ciao ciao" e io cerco "ciao" la densità sarà del 50%, che è comunque il ragionamento che di base applica qualsiasi motore di ricerca durante l'analisi individuale del singolo fattore.

Fare qualcosa di più complesso non rientrava nella mia specifica necessità, ma qua ho fornito tutte le basi per poter eventualemente espandere il concetto, magari qualche ora di programamzione VBA.

Un'ultima nota. Laddove formattiate la vostra cella in percentuale, ricordatevi di aggiungere alla fine della formula sopra un ulteriore "/100" senza gli apici, altrimenti non vi ridaranno mai i conti.

 2 Commenti

 Commento di Ricardo  25 July 2012

Ciao, complimenti per l'articolo, davvero molto interessante! Unico piccolo neo è che la stringa è per la versione di excel in inglese, mentre io ho quella in italiano... ho provato a trascriverla ma senza successo... ti scrivo la formula riscritta ma errata:

(LUNGHEZZA(ANNULLA.SPAZI(STRINGA.ESTRAI(A2;1;SE(VAL.ERR(RICERCA(B2;A2)); 0; RICERCA(B2;A2)))))-LUNGHEZZA(SOSTITUISCI(STRINGA.ESTRAI(A2;1;SE(VAL.ERR(RICERCA(B2;A2)); 0, RICERCA(B2;A2))),” “,”"))+SE(VAL.ERR(RICERCA(B2,A2)), 0,1))/C2*100

non è che potresti cortesemente darci un occhio? sicuramente sei piu esperto di me con excel!

Grazie mille e ancora complimenti!

Rispondi

 Lascia un commento