Questione : Excel - trovare le parole più vicine per la parte superiore allineata (estrazione mineraria del testo)

Ciò potrebbe richiedere una soluzione che è “abbastanza buona„ o alcuni punti nel giusto senso, piuttosto che una pallottola d'argento che risolverà tutto.  

I che cerca un senso semplicistico farle una certa analisi del testo Excel (o potrebbe essere in MS Word - o un'altra applicazione se quella funzioni inoltre). l'operazione del
The è come questa -- in un documento con il
1. di risposte di indagine del aprire-testo (serie di testo per ogni fila).  Dopo il conteggio di tutto il words
2. che omette le parole insignificanti (, a e, esso), allineare il results
3. prendono i risultati superiori (per esempio principale 20) e determinano quali parole non banali compaiono nella stringa con esso.  Per esempio:  La parola “servizio„ è #5 allineato in parola-conta.  Quando il servizio è accennato, le parole superiori accennate con esso sono:  “grande„, “efficiente„, il

Here è un metodo che ho dati del convertito di used.

1. per scegliere il
2. della colonna (una parola per cellula).  La tabella del perno di uso per contare le parole e il descending
3. di specie usa le formule per generare le frasi delle due-parole e delle tre-parole (concatenare insieme le parole indietro dalla colonna originale delle parole singole).
4.  Allora, le parole superiori del ritrovamento e vedono che frasi che compaiono in.
5. allora selezionare manualmente con loro e contano che altre parole osservano come sono comuni all'interno di 3 o 4 parole dell'obiettivo (?????)il

That è un solution.

To ricapitola -- che cosa sto cercando è un senso (forse) etichettare le parole dell'obiettivo (principale 20 più usato, per esempio).    Allora trovare un senso misurare la distanza fra quelle parole dell'obiettivo ed altre parole nelle stesse stringhe (in un paragrafo).  Thoujght I circa la conversione delle parole in variabili ed allora fare un certo per la matematica per scoprire che le variabili sono più vicine????  il

There è software commerciale che fa questo, ma sto cercando una soluzione semplicistica in Excel -- e una probabilità provare un po'più di manipolazione di stringa innovatrice, possibly.
Thanks per dare questo un try.
class= > " libero " del
soluzioni >Related class= href= " /Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_26227197.html " title= " TextMiner - parole di TextMiner " del class= " del fiammifero - parole dell'obiettivo a match

Risposta : Excel - trovare le parole più vicine per la parte superiore allineata (estrazione mineraria del testo)

Provare allegata e vedere se aiuta.

Il libro di esercizi ha tre strati: “grezzo„ “risulta„ e “ignorare„
Incollare le vostre frasi di fonte come indicato nello strato “grezzo„. Allora colpire “il tasto del testo della miniera„.

Il codice nel libro di esercizi analizza tutto il testo nello strato grezzo; zaps tutte le parole elencate in “ignorano„ lo strato; le spaccature ciò che resta in un allineamento ed allora lo sputa fuori in “risulta„ strato come segue:

1. Conta gli avvenimenti delle parole in colonna A
2. Nelle colonne alla destra della lista di parola principale dà tutte le parole che accadono all'interno delle parole di X ai left and right della parola principale

Il valore della X inoltre è fissato in “ignora„ lo strato.

Il codice allora fascicola i risultati.

Ci sono tre sottoprogrammi -- il minatore principale, una procedura per aggiungere le parole vicine e una procedura su ordinazione di specie per occuparsi “di doppie colonne„ in questione nelle parole dell'elenco e nella loro frequenza.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
Opzione esplicita
'scritto da Neil Fleming

MineText secondario ()

Wb fioco come libro di esercizi, wsRaw come manuale, wsResults come manuale, wsIgnore come manuale

rSource fioco come gamma, rRow come gamma, rResults come gamma, rMatch come gamma
allText fioco come stringa
Indesiderabile fioco come stringa
Parole fioche () come stringa

aWord fioco come numero intero, aRow come numero intero, qui vicino come numero intero, maxCol come numero intero

Sul errortrap di avanzamento di errore

'manuali di messa a punto
Regolar wb = ActiveWorkbook
Regolare il wsRaw = il wb. Strati (“grezzo„)
Regolare i wsResults = il wb. Strati (“risultati„)
Regolare il wsIgnore = il wb. Strati (“ignorare„)
'regolare il rSource  alle file non-in bianco
Regolare il rSource = la gamma (wsRaw.Range (“A5„), wsRaw.Range (“a5„). Estremità (xlDown))
allText = ""
Per ogni rRow in rSource.Rows
allText = allText & ““& rRow.Cells (1, 1).Value
Dopo
'aggiungere lo spazio di trascinamento:
allText = allText & ““

'maiuscola:
allText = UCase (allText)
'eliminare la punteggiatura:
il allText = sostituisce (allText, “,„, “")
il allText = sostituisce (allText, “; „, “")
il allText = sostituisce (allText, “. „, “")
il allText = sostituisce (allText, “-„, “")

'rimuovere le parole ignorate, using la lista da “ignorano„ il manuale
Per il aWord = 2 a wsIgnore.Cells (2, 1).End (xlDown). Fila
indesiderabile = wsIgnore.Cells (aWord, 1).Value
Mentre InStr (allText, ““& indesiderabile &„ ") > 0
il allText = sostituisce (allText, ““& indesiderabile &„ “,„ ")
Wend
Dopo

'eliminare i doppi spazi:
Mentre InStr (allText, “  ") > 0
il allText = sostituisce (allText, “  “,„ ")
Wend

'rimuovere gli spazi di trascinamento e di conduzione:
allText = disposizione (allText)

'convertito AllText all'allineamento delle parole:
Le parole = hanno spaccato (allText, “")

'PRESENTARE I RISULTATI:
'soppressione i risultati:

Con i wsResults
Application.ScreenUpdating = falso


. Cells.ClearContents
. Cells.ClearFormats
. Gamma (“a1„, “dd1000„). Interior.Color = RGB (255, 255, 255)
. Attivare
. Cellule (1, 1) = “conteggio„
. Cellule (1, 2) = “parola„

'inserire i risultati unici di parola in strato di risultati:
= 2 aRow
maxCol = 1
Per il aWord = 0 a UBound (parole)
'ridefinire la gamma di risultati:
Regolare i rResults =. Gamma (wsResults.Range (“b2„). Gamma (“b2„). Estremità (xlDown))
Regolare il rMatch = rResults.Find (parole (aWord))

'se parola nella lista, conteggio di incremento:
    Se non il rMatch allora è niente
    rMatch.Offset (0, -1) = rMatch.Offset (0, -1) + 1
    'aggiungere al contrario alla lista:
    Altrimenti
    Regolare il rMatch = wsResults.Cells (aRow, 2)
    rMatch.Value = parole (aWord)
    rMatch.Offset (0, -1). Valore = 1
    + 1 aRow = aRow
    Concluder se
    
   
    'esaminare le parole vicine, avvenimenti di conteggio ed aggiungere alla destra della parola principale:
    'il numero delle parole esaminate è fissato su “ignora„ lo strato “in ptrMaxWords„ chiamati cellula:
    Per qui vicino = 1 a gamma (“ptrMaxWords„). Valore
    'andare indietro:
     Se aWord - parole vicine di AddNearby del >= 0 allora (aWord - qui vicino). Cellule (rMatch.Row, 1), maxCol
         
    'andare trasmette:
    Se aWord + qui vicino <> maxCol = rcol di maxCol allora. Colonna + 1 maxCol altro = maxCol
     

Sommergibile dell'estremità

CustomSort secondario (aRange come gamma)
'accoppiamenti di specie delle cellule lungo la fila basata su valore della prima cellula negli accoppiamenti:
StartCol fioco come numero intero, swapCol come numero intero, swapValue come numero intero
swapText fioco come stringa

StartCol = 2
Fare
    swapCol = StartCol + 2
    Fare
        Se aRange.Cells (1, swapCol) > aRange.Cells (1, StartCol) allora
        'scambiare le cellule e la cellula seguente avanti (contenendo parola) con a vicenda:
        swapValue = aRange.Cells (1, swapCol)
        swapText = aRange.Cells (1, swapCol + 1)
        aRange.Cells (1, swapCol) = aRange.Cells (1, StartCol)
        aRange.Cells (1, swapCol + 1) = aRange.Cells (1, StartCol + 1)
        aRange.Cells (1, StartCol) = swapValue
        aRange.Cells (1, StartCol + 1) = swapText
        Concluder se
    swapCol = swapCol + 2
    Collegare fino a aRange.Cells (1, swapCol) = il ""
StartCol = StartCol + 2
Collegare fino a aRange.Cells (1, StartCol) = il ""


Concludere il sommergibile
Altre soluzioni  
 
programming4us programming4us