PDA

Visualizza versione completa : Conta.Se (Excel home 2016)


riccardonard
17-03-2017, 16.52.54
Ho una tabellina di esempio A38:A45 , ma destinata a crescere per impieghi reali, contenente i seguenti valori: 141, 147, 150, 164, 157, 170, 165, 160.

La formula =CONTA.SE(A38:A45;">=150") restituisce correttamente il valore 6.
La formula =CONTA.SE(A38:A45; E(">=150"; "<=160" ) ) restituisce erroneamente 0 (zero).
La formula =E(CONTA.SE(A38:A45;">=150"); CONTA.SE(A38:A45;"<=160") ) restituisce "VERO" (?)

La domanda è: c'è modo di fare una semplice formula per ottenere quanti valori sono compresi tra 150 e 160, cioè 4?
Grazie
Riccardo

Alexsandra
17-03-2017, 21.03.13
..... 141, 147, 150, 164, 157, 170, 165, 160.

La domanda è: c'è modo di fare una semplice formula per ottenere quanti valori sono compresi tra 150 e 160, cioè 4

è sbagliato il valore 4. tra 150 e 160 ci sono 3 valori .... 150 - 157 e 160

comunque puoi farlo in questo modo
=CONTA.SE(A38:A45;">=150")-CONTA.SE(A38:A45;">160")
in pratica fai una sottrazione di valori, usando l'indice max e min. oppure
=CONTA.PIÙ.SE(A38:A45;"<=160";A38:A45;">=150")
e ti riporta il valore 3

riccardonard
18-03-2017, 10.39.04
Grazie Alexsandra, si ovviamente i valori sono 3, ma quello è una mia svista non c'entra con le formule.
Le tue formule funzionano entrambe (ovviamente) quindi grazie ancora.
Ciao, Riccardo

riccardonard
18-03-2017, 11.23.39
A questo punto (l'appetito vien mangiando, dice un vecchio proverbio), vorrei proporre un altro questito sulla scia del precedente:
si potrebbe fare una formula analoga che trovasse gli stessi valori, compresi in un intervallo, se i valori fossero stringhe di testo?
Ad es. la stringa di testo "232abc" è minore di "253cde" ed è maggiore di "167zzz", assunto che la stringa di testo cominci sempre con la parte numerica (232, 253, 167, eccetera).
grazie

Alexsandra
18-03-2017, 20.41.54
....la stringa di testo "232abc" è minore di "253cde" ed è maggiore di "167zzz"...
Il problema è che prima abbiamo cercato un valore numerico, per cui è stato possibile estrarre il valore minimo e massimo dell'intervallo.

quello che chiedi ora è di elaborare una stringa di testo, per cui non riusciamo e stabilire i valori minimo e massimo.
possiamo trovare quante volte compare il valore "150" in una stringa ma non riusciamo a stabilire quante occorrenze ci sono in un intervallo tra i valori 150 e 160.

si dovrebbe fare una prima elaborazione ed estrarre i primi 3 caratteri
es. SINISTRA("160";3)
e poi applicare la formula vista precedentemente.

comunque faccio delle prove ma non credo che si riesca

riccardonard
19-03-2017, 09.21.46
Il problema è che prima abbiamo cercato un valore numerico, per cui è stato possibile estrarre il valore minimo e massimo dell'intervallo.

quello che chiedi ora è di elaborare una stringa di testo, per cui non riusciamo e stabilire i valori minimo e massimo.
possiamo trovare quante volte compare il valore "150" in una stringa ma non riusciamo a stabilire quante occorrenze ci sono in un intervallo tra i valori 150 e 160.

si dovrebbe fare una prima elaborazione ed estrarre i primi 3 caratteri
es. SINISTRA("160";3)
e poi applicare la formula vista precedentemente.

comunque faccio delle prove ma non credo che si riesca

Ti ringrazio dell'interessamento Alexsandra: io pensavo, ma non sono capace di farlo con un programmino VBA, che si potesse fare una comparazione di stringhe e sabilire che la strinca "abc" è minore della stringa "fgh", di conseguenza valutare un ordine di Maggiore/Minore fra le stringe e quindi stabilire che la stringa "cde" è compresa fra "abc" e "hij" ad esempio; quindi contare quante stringe sono comprese fra due estremi passati come parametri ad una funzione che esamina un'area di valori (es. A1:B10). Che poi nella stringa ci siano o meno caratteri numerici, dovrebbe risultare assolutamente ininfluente, no?
P.S. mi sono scaricato il tuo corso di VBA, bellissimo! Chissà che non riesca a combinare qualcosa anche io .... !
Grazie
Riccardo

Alexsandra
19-03-2017, 09.37.12
.....sabilire che la strinca "abc" è minore della stringa "fgh", di conseguenza valutare un ordine di Maggiore/Minore fra le stringe e quindi stabilire che la stringa "cde" è compresa fra "abc" e "hij" ....
Se usiamo VBA il discorso cambia, possiamo fare una funzione e richiamarla nel foglio come formula, oppure elaborare tutto in vba in base ad un evento o al clik su un pulsante.

sulla stringa da elaborare è meglio usare la forma numerica tagliando le lettere (123sde)
Se usiamo la parte di stringa numerica (123), dopo averla convertita, possiamo usare gli operatori di confronto <>= e fare le operazioni che chiedi. In questo modo si semplifica notevolmente il tutto, mentre valutare la forma abc e stabilire un confronto <> rispetto a ghi diventa molto più complicato.

concludendo con vba stabilire che 123abc è minore di 124def non è un problema, diventa più complicato confrontare abc con def

fai sapere come vuoi proseguire

riccardonard
19-03-2017, 10.39.01
Grazie ancora Alexsandra, ma non voglio farti "impazzire" per una questione che non è di vitale importanza, visto che hai già risolto brillantemente per il formato numerico.
Tuttavia, se posso approfittare ancora della tua disponibilità, quando avrai del tempo, potresti provare a risolvere la questione utilizzando le stringhe, le più generiche possibili; in tal modo ingloberemmo qualsiasi formato, dal più generico, al più particolare.
Cioè: una funzione VBA che confrontasse i valori di stringa qualsiasi sarebbe valida sia per il formato "123abc" che per il formato "abc123" e ciò mi parrebbe una soluzione universale e definitiva: sempre che sia possibile tecnicamente.
Io credo che la stringa sia valutata in funzione dei caratteri ASCII da cui è composta: ad es. "1" vale 48 nella tabella ASCII, "A" vale 65, per cui è > di "1" e così via.
Grazie ancora.
Cordialmente, Riccardo

riccardonard
19-03-2017, 15.45.10
Grazie ancora Alexsandra, ma non voglio farti "impazzire" per una questione che non è di vitale importanza, visto che hai già risolto brillantemente per il formato numerico.
Tuttavia, se posso approfittare ancora della tua disponibilità, quando avrai del tempo, potresti provare a risolvere la questione utilizzando le stringhe, le più generiche possibili; in tal modo ingloberemmo qualsiasi formato, dal più generico, al più particolare.
Cioè: una funzione VBA che confrontasse i valori di stringa qualsiasi sarebbe valida sia per il formato "123abc" che per il formato "abc123" e ciò mi parrebbe una soluzione universale e definitiva: sempre che sia possibile tecnicamente.
Io credo che la stringa sia valutata in funzione dei caratteri ASCII da cui è composta: ad es. "1" vale 48 nella tabella ASCII, "A" vale 65, per cui è > di "1" e così via.
Grazie ancora.

Cordialmente, Riccardo



Ho provato ad elaborare questa formula, scopiazzando qua e là, ma non funziona...............
Chiedo suggerimenti, grazie
Ciao



Function ComparaStringheArea(AreaValori As Range, Criterio As String, Riferimento As String)
' Crietrio può assumere solo i valori: "=", ">", "<", ">=", "<="
Dim cella As Range
'If Criterio = ">" Then MsgBox ("criterio = " & Criterio)
On Error Resume Next
For Each rng In AreaValori
Set cella = Cells(rng.Row, AreaValori.Column)
If Criterio = "=" Then
If StrComp(cella, Riferimento) = 0 Then
Res = Res + 1
End If
ElseIf Criterio = ">=" Then
If StrComp(cella, Riferimento) >= 0 Then
Res = Res + 1
End If
ElseIf Criterio = "<=" Then
If StrComp(cella, Riferimento) <= 0 Then
Res = Res + 1
End If
ElseIf Criterio = "<" Then
If StrComp(cella, Riferimento) < 0 Then
Res = Res + 1
End If
ElseIf Criterio = ">" Then
If StrComp(cella, Riferimento) > 0 Then
Res = Res + 1
End If
End If
Next

ComparaStringheArea = Res

End Function

riccardonard
19-03-2017, 16.13.53
Ho provato ad elaborare questa formula, scopiazzando qua e là, ma non funziona...............
Chiedo suggerimenti, grazie
Ciao



Function ComparaStringheArea(AreaValori As Range, Criterio As String, Riferimento As String)
' Crietrio può assumere solo i valori: "=", ">", "<", ">=", "<="
Dim cella As Range
'If Criterio = ">" Then MsgBox ("criterio = " & Criterio)
On Error Resume Next
For Each rng In AreaValori
Set cella = Cells(rng.Row, AreaValori.Column)
If Criterio = "=" Then
If StrComp(cella, Riferimento) = 0 Then
Res = Res + 1
End If
ElseIf Criterio = ">=" Then
If StrComp(cella, Riferimento) >= 0 Then
Res = Res + 1
End If
ElseIf Criterio = "<=" Then
If StrComp(cella, Riferimento) <= 0 Then
Res = Res + 1
End If
ElseIf Criterio = "<" Then
If StrComp(cella, Riferimento) < 0 Then
Res = Res + 1
End If
ElseIf Criterio = ">" Then
If StrComp(cella, Riferimento) > 0 Then
Res = Res + 1
End If
End If
Next

ComparaStringheArea = Res

End Function

In realtà funziona (avevo sbagliato sintassi di chiamata), è solo molto brutta dal punto di vista formale, però dopo alcune prove sul campo funziona; per avere dei valori compresi fra due estremi bisognerà esegire la differenza come nella funzione CONTA.SE proposta prima da Alexsandra.
Che ne dite?
Riccardo

Alexsandra
21-03-2017, 18.33.08
in sostanza cosa devi fare?

riccardonard
22-03-2017, 13.38.28
La funzione conteggia i valori delle celle di una area, passata come parametro, che soddisfino il criterio "<=>" anch'esso passato come parametro, di un valore di riferimento passato come parametro. I valori delle celle sono stringe di testo qualsiasi.
Ho qualche difficoltà a far riconoscere e saltare dal conteggio le celle vuote.
Però tutto questo lavoro è forse inutile, perché nel frattempo mi sono accorto che anche le semplici funzioni CONTA.SE e CONTA.PIU.SE funzionano benissimo anche con valori testuali.

Però mi piacerebbe comunque un giudizio sulla funzione che ho elaborato per saper se è formalmente corretta oppure come dovrei modificarla per renderla tale.
Bé grazie comunque.
Riccardo

LoryOne
22-03-2017, 16.40.13
...
Io credo che la stringa sia valutata in funzione dei caratteri ASCII da cui è composta: ad es. "1" vale 48 nella tabella ASCII, "A" vale 65, per cui è > di "1" e così via.


Però...niente male.
Incolonna un po questi valori:
abc
abc123
123abc
0abc
e poi ordinali in modo crescente o decrescente.
Che criterio usa se le stringhe ASCII non sono tutte numeriche ?
E che razza di ordinamento crescente esegue sui nomi dei files ?

riccardonard
23-03-2017, 09.29.37
Non credo di aver capito bene la tua domanda. Comunque l'ordinamento crescente della sequenza da te proposta è:

0abc
123abc
abc
abc123

Ciò corrisponde esattamente al criterio dei valori ASCII crescenti essendo:
0 < 1 (48 < 49)
1 < a (49 < 122)
abc < abc123 (essendo uguali le prime 3 lettere)
Grazie

LoryOne
23-03-2017, 10.34.13
Mi risulta un po diversa in Calc:
abc
0abc
123abc
abc123
La sequenza abc123 è in fondo per entrambi, ma oltre alla posizione di ogni singolo carattere nella tabella ASCII che corrisponde ad un valore ordinato in modo crescente, ci dev'essere qualcos altro che interviene nell'ordinamento...a me sembra più corretto Calc.
Tu cosa dici ?

riccardonard
23-03-2017, 11.29.05
Sei certo di non aver erroneamente indicato la prima riga come intestazione (quindi in posizione fissa)? Altrimenti non saprei che dire, però l'ordine ASCII non può che essere quello che ho indicato sopra, basta consultare la tabella dei valori ASCII.
R.

LoryOne
23-03-2017, 12.12.35
Sei certo di non aver erroneamente indicato la prima riga come intestazione (quindi in posizione fissa)? ...


Assolutamente no.
Ho creato un range di selezione definendo una matrice monodimensionale i cui estremi sono la prima e l'ultima riga: Sull'intera matrice costituita da valori alfanumerici ho effettuato un ordinamento di tipo crescente.

riccardonard
23-03-2017, 16.32.43
A questo proposito non so che dire di più.
Ma, tornando all'oggetto primario di questa discussione, debbo dire che le funzioni CONTA.SE e CONTA.PIU.SE funzionano egregiamente trovando all'interno di aree di celle sia numeriche sia alfanumeriche gli elementi che corrispondono ai criteri "<=>", superando quindi la necessità di funzioni esterne, come avevo provato a fare io.
Grazie a tutti per gli interventi.
Ric

Alexsandra
23-03-2017, 20.18.22
Excel ordina i numeri in base ai loro valori e le parole in ordine alfabetico, inoltre prende in considerazione criteri di ordinamento come:

1) prima le cifre da 0 a 9
2) Poi lo spazio
3) quindi i caratteri speciali e i segni di punteggiatura come !$%&/*@[ <=> etc.

Il problema di ordinamento che ha manifestato LoryOne a mio avviso è dovuto a una diversa "personalizzazione" dei criteri si ordinamento in Calc.

Alexsandra
23-03-2017, 21.21.42
Tornando al quesito posto ....... hai detto:

abbiamo usato la funzione SE per contare quante volte un valore è presente in un intervallo di celle e che soddisfi un determinato criterio (es. > 150), ossia quanti valori sono presenti in un range di celle che siano maggiori di 150

Dopo hai chiesto


si potrebbe fare una formula analoga che trovasse gli stessi valori, compresi in un intervallo, se i valori fossero stringhe di testo?
Ad es. la stringa di testo "232abc" è minore di "253cde" ed è maggiore di "167zzz", assunto che la stringa di testo cominci sempre con la parte numerica (232, 253, 167, eccetera).

e successivamente

una funzione VBA che confrontasse i valori di stringa qualsiasi sarebbe valida sia per il formato "123abc" che per il formato "abc123" e ciò mi parrebbe una soluzione universale e definitiva: sempre che sia possibile tecnicamente.

Non ho ancora capito cosa si deve fare

contare quante volte una stringa è presente in un intervallo?? (abc)
contare quante volte una stringa alfanumerica è presente in un intervallo?? (123abc)
confrontare delle stringhe in un intervallo e ordinarle?? (582kya)

dobbiamo fare una funzione/sub vba con un criterio di ricerca per sapere in un intervallo di celle quante volte è presente la "voce" zkw953 ????

non capisco cosa serve sapere "232abc" è minore di "253cde" ed è maggiore di "167zzz" se cerchiamo zkw953 ???

io non ho ancora capito :confused:

sarebbe opportuno una spiegazione più dettagliata.

LoryOne
24-03-2017, 11.23.29
Riccardo vuole semplicemente contare quante volte, all'interno di un range di valori, un altro valore passato come parametro è > oppure = oppure < oppure <= oppure >= rispetto ad ogni valore nel range.
Per far questo, aveva in precedenza prodotto una sua funzione in VBA, ma poi si è accorto che Excel ha già cio che gli serviva.
Nello scrivere la funzione, però, ha fatto riferimento a StrComp che mette in comparazione due sequenze alfanumeriche; Da li in poi, si è chiesto in che modo funzionasse tale funzione ed ha dedotto:
"Io credo che la stringa sia valutata in funzione dei caratteri ASCII da cui è composta: ad es. "1" vale 48 nella tabella ASCII, "A" vale 65, per cui è > di "1" e così via"
48 è '0', 49 è '1', 65 è 'A', 97 è 'a' (cioè 65+32),ecc,ecc
Dando validità alla sua asserzione, avendo stabilito che due parametri p1 e p2 messi in correlazione producono un risultato secondo il quale p1 è maggiore di p2 o viceversa, volendo fornire un più ampio margine applicativo alla logica algoritmica di comparazione, ho proposto di effettuare un ordinamento crescente o decrescente di differenti valori alfanumerici, riscontrando diversità tra il risultato proposto da Excel e quello di Calc ed attribuendo a quest'ultimo, a mio avviso, un migilor risultato a parità di condizione.

riccardonard
24-03-2017, 11.35.57
E' perfetto LoryOne, hai interpretato perfettamente tutta la storia, partita dal confronto numerico ed estesa successivamente al confronto di stringhe.
Non resta che affidarsi fiduciosamente alle funzioni integrate in excel per verificare che esse conteggiano effettivamente quanti valori sono compresi fra gli estremi desiderati, quindi ogni altra discussione sull'ordinamento crescente/decrescente è puramente accademica.
Tuttavia questa discussione, per me, è stata veramente interessante ed illuminante rispetto a tutti i punti toccati.

Grazie veramente a tutti i partecipanti.
Riccardo

Alexsandra
24-03-2017, 20.19.43
stiamo parlando di una cosa accademica???

No perchè determinare il valore < o > in un range ha un senso logico, stiamo parlando di numeri, Excel è un foglio di calcolo.
Trovare con gli stessi criteri in un range di stringhe è illogico.
una stringa può essere comparata con altre stringhe, ma mai con un valore numerico.
posso contare quante volte un determinato carattere compare in un range, quante stringhe uguali ci sono etc... e questo ha un senso logico, numeri con numeri e stringhe con stringhe, ma mescolare le 2 cose con criteri numerici è un conflitto.

IMHO

borgata
25-03-2017, 15.33.22
Numeri e stringhe si confrontano quando devi ordinare dei valori alfanumerici. In questo caso non puoi fare a meno di trovare un modo che permetta di valutare cosa venga prima o dopo.
Questo modo, di norma, è il confronto della codifica ascii (o unicode) del carattere: sia quelli numerici che quelli alfabetici ne hanno una, è un numero e può essere ordinata. E in questo caso i numeri vengono prima delle lettere.

In soldoni, se la tua domanda è: "viene prima la parola cisco o la parola 3com?", un modo per risolvere il problema va trovato.

Alexsandra
25-03-2017, 23.31.33
@borgata
si ma i criteri di precedenza in un ordinamento è stabilito dalle regole di VB, come avevo citato qualche post sopra, è il metodo più stabile e affidabile da estrapolare.

A mio avviso usare la conversione Ascii non è affidabile in quanto se usiamo il codice vba come una funzione abbiamo sempre l'operatore (< > =) che può falsare il valore ascii della stringa in esame.

penso che la strada da seguire sia la funzione StrComp che aveva presentato riccardo, e che ho modificato. Questa funzione confronta 2 stringhe e restituisce un valore che può essere:

-1 se la stringa1 è minore della stringa2
0 se la stringa1 è uguale alla stringa2
1 se la stringa1 è maggiore della stringa2

Ora facendo un test, per cui parliamo di codice in versione beta, ho ottenuto questo

https://lh3.googleusercontent.com/eVXwi2FcU91vMUX2KBMwFwRDViq-ipoQ4-f3iFtX2SVkFd-D-xXikv4_xXuViILp__QYxGCmKGhSphHxqjQweKmzadBgVWSB4LS B-RlbgkQbIRPobsmq3brlXi7h6F7j_kWkjkqDkQDZEymJ-aTpFPeThhFE4BHsTIbDoLEhoLVNZlmEzgHrsGoINiBOPWgqeum eJBbAK0cK7c-8ZPa0F6R0kTWM2j69pm1EQc5n4qtRBh9i2OysMy9EiQNcH8fze DKgDpn4SU6jbbfvEhvnee6ClkR7XHM5tC_5GMT3u5LrN4BxR68 xOvlJvaxzob42-a1Zr-ZHK5Py2gh1Vh7-pSUf-tf4ffTEMffpV2v4MYa9rIaZD8HXG-2LtjjIelRO5N0LKaGEYNKKFR_6ihMdqT9NGGesdHwRJ8AE6tvU Fttcw3_Ne40XhxCRqc9YrGWVl7QjMs6rqL70KXDMVb1gVxc0GN FXimb1lhYGBWbM3mURIXnEGjVic2ZlRu8G8OzzL3up4yNJwF84 M2N9nJ7tT7W04h5w4bOkIx_47ZLjGvAHjTAnYNXBkf0nWjkzw_ 03SeEHU0VtQFGvK1lj4JxtUPT8U2HZUj6G6XNqz4Pr8Ksh_e9V lQ0jhMty84ZKlIhAXV0jRUytGh_KcsBhuvPuCBULxdSyRuJj5k VOTQSa_A=w288-h193-no

facendo un confronto tra la stringa in A1 e quella in A2 sappiamo subito (tra le 2) quale sia < > o =
come si vede in colonna C.
Il codice è questo

Sub test1()
Dim conf, i As Integer
Dim string1, string2 As String

For i = 1 To 7
string1 = Range("A" & i)
string2 = Range("A" & i + 1)
conf = StrComp(string1, string2, vbTextCompare)

Select Case conf
Case 0
Range("C" & i) = "uguale"
Case 1
Range("C" & i) = "è maggiore"
Case -1
Range("C" & i) = "è minore"
End Select
Next i

End Sub

A mio avviso si dovrebbe lavorare su questa funzione e nel ciclo For (che dopo sarà un For Each) passare il valore di confronto (la stringa da cercare ..... dfr256)

????

borgata
26-03-2017, 19.09.39
Aspetta... stai confondendo il metodo di confronto con il metodo di ordinamento.

Quello di cui si parlava mi pare fosse il metodo di confronto, ossia stabilire quando una stringa viene prima di un'altra nell'ordinamento.

Come dicevamo, il metodo "standard" per stabilire questo ordinamento è utilizzare la codifica ascii/unicode del carattere (a seconda della codifica utilizzata), che può essere facilmente confrontata e da un risultato tipicamente accettato da tutti.

Ovviamente nulla ci vieta di creare un nostro criterio di confronto qualora ce ne fosse la necessità, ma non mi pare questo il caso.

Oltretutto se non ricordo male il problema è dovuto al fatto che incomprensibilmente Excel ordina le stringhe in maniera non standard, a differenza di Calc che esegue l'ordinamento in modo corretto.
Il problema dove sta quindi? Si vuole ricreare con Excel la codifica ottenuta con Calc?

Alexsandra
27-03-2017, 10.18.37
no, stavo solo facendo un ragionamento "accademico" sul metodo da usare. (StrComp)
confrontando 2 stringhe con StrComp possiamo ottenere quello che cerchiamo, cioè una stringa può essere maggiore, minore o oguale della stringa di comparazione.
per cui se cerchiamo quanti valori sono compresi tra 2 indici (> e <) possiamo usare il valore che restituisce StrComp.

Ma questo ancora Sabato, ieri ho avuto un po' di tempo e ho visto che convertendo in ascii la stringa si semplifica notevolmente il lavoro di programmazione ricavando un codice più affidabile.

Poi parlando di ordinamento, che in questo contesto io lo farei, in Excel viene eseguito dando la precedenza a:

1) prima le cifre da 0 a 9
2) Poi lo spazio
3) quindi i caratteri speciali e i segni di punteggiatura come !$%&/*@[ <=> etc.
4) poi i valori stringa.

e i metodi di confronto tra le stringhe seguono lo stesso criterio dell'ordinamento

Mentre invece convertendo la stringa in ascii viene semplificato il tutto in quanto diventando un numero basta solo applicare il metodo usato dalla funzione SE per avere il conteggio delle occorrenze tra 2 indici.

Alexsandra
27-03-2017, 22.34.53
Lasciando perdere l'accademico ...... tutto finisce con la stessa formula

=CONTA.SE(A2:A8; ">="&"BC350")

=CONTA.PIÙ.SE(A18:A24;"<="&"FR3500";A18:A24;">="&"BC350")
oppure
=CONTA.PIÙ.SE(A18:A24;"<=FR3500";A18:A24;">=BC350")

funziona anche con i valori numerici dopo la stringa

=CONTA.PIÙ.SE(E18:E24;"<="&"350BC";E18:E24;">="&"3500FR")

in questo caso si devono invertire gli estremi della ricerca.

https://lh3.googleusercontent.com/ZJknWv4b4jxcrUBmtz8JH6-z7tzTHcE6mCu9zxdAmVYVeqYiPaltv-xRy034Q3mWyqWOUliSCNbhEbdC8OW6rIaHZT-CO4SN8QhZVnOE9ym2e8y513bq3RTPYYtr2TPn-V9PpiUGAmvOBg2JDTH33bihL997pvkUkhzaJOgVgnDBeWOdp35 _T5V9quJ0ks70JaP9DlA5OoXu13m8l9M41rmay1OKvNxkxSNZX 3P78w_Cq6HoQt_Iy2CgQl0yk7CWBGBgWzXNz9SLqa7mLJmC-A-DDLKi_pKM4tZl3GYrXG0j-zn-mmuXbWJWHnBXu1sn51BmAh4_c515bo4LL3RvQsPygp1IvEW0lQ qP4k3HxXrj1v87B_hpmp9iKTmqukzJslpVhK4VV60ogLMjqJ7v 3w-Mb8RVWShyumZp3iuVttR5EaBDGM-OUCM5M2WoFnM6YHUI39Umbco3q8HeFsKR8xzouopFqh-sfqmTScvOR-D7BCyu_0zYZazTyxqFfwFUh6Tp3shjJgWr5mRyHV6Xk20TyB6e LgPpAYDoKOE8N9Sa6Lnb610GskTSr3Zo8TQC-wrlGT7Im28F2tuc84s8t9tkgTOeCJo98jP7pfgcH6bN25ZcDQg TvqVSZgHHzzzUO5QgRsatnOHsSn8H8T0IhS9jKGY2UzRPD0VH4 Th3zQ=w358-h586-no