Kezdőlap › Fórumok › Excel témák › Kínai karakterek megszámolása
- This topic has 4 hozzászólás, 2 résztvevő, and was last updated 8 years telt el by Aguirre.
-
SzerzőBejegyzés
-
2016-11-17-22:02 #3171
Sziasztok!
Egy olyan probléma ütköztem, amiről sajnos nem találtam használható információt magyar nyelven.
Adott kb. kétezer sor, amiben vegyesen vannak angol és kínai szövegek (ezen kívül van még más nyelv is, de az most mellékes, illetve egy kategóriát képezhet az összes latin betűs karakter és az összes ami nem) és ezek közül ki kellene válogatnom azokat, amelyekben van legalább egy kínai (nem latin betűs) karakter. A probléma az, hogy egyszerű sorba rendezéssel ugyan leghátul lesznek azok amelyek kínai karakterrel kezdődnek, de azok amelyek nem (pl. szám majd kínai karakter, vagy amelyik sor vegyesen tartalmaz nem latin betűs karaktert és latin betűs karaktert, azokat nem lehet így kiszűrni).
Kerestem az interneten, hátha van rá valakinek megoldása, és csak ennyit találtam: Count Chinese word within a cell https://sites.google.com/site/exceltkk2/excel-tutorial/countchinesewordwithinacell=SUM(IF(CODE(MID(A6,ROW(OFFSET($A$1,,,LEN(A6))),1))>255,1,0))
=SZUM(HA(KÓD(KÖZÉP(A6;SOR(ELTOLÁS($A$1;;;HOSSZ(A6)));1))>255;1;0))Ez a képlet elvileg még pontosabb, mert a kínai karakterek számát is megadja, de ez is tökéletes lenne számomra, csakhogy nálam ez nem működik, ugyanis azt írják a KÓD-nál, hogy a kínai karakterek 255 feletti számok lesznek, de nálam ezeknél 63-at ír ki (ami elvileg a ?), így nyilván nem teljesen jó a képlet, de nem tudom hogyan lehetne átalakítani, hogy megfelelő legyen. Amit még találtam az a LEN és LENB – HOSSZ és HOSSZ2, de nálam nincs HOSSZ2 képlet az Excelben. 2016-os magyar nyelvű Office-t használok.
Bármilyen ötletért hálás lennék. Mellékeltem egy fájlt, valójában több 10.000 sorról lenne szó, ez csak egy részlet belőle.
Köszönöm.
2016-11-17-22:04 #31722016-11-18-00:13 #3174Szia!
Találtam két oldalt, amelyeken lévő infók alapján készítette két makrót, ami UDF-ként is használható.
http://www.baanboard.com/baanboard/showthread.php?t=66577
A kínai karakterek UDF kódolásúak, nem ASCII karakterek, a kódjuk negatív.
Ez igaz lehet a Koreai, Arab, stb karakterekre is, nem teszteltem.A megoldást két oszlopba tettem, mindkettő másik függvényt használ.
Az első megszámolja, hogy hány un. non-ascii karakter van a B oszlopban.
Itt vannak olyan sorok, ahol ez 1-et ad, de a szövegben nem kínai, hanem más, pl.görög betű van.Neked szerintem a második oszlop lesz jó, ami megmondja, hogy van-e nullánál kisebb kódú karakter a B oszlopban
Szűrj az IGAZ sorokra!megnyitáskor, és mentéskor szólni fog a makrók miatt.
De más megoldást egyelőre nem találtam.Imre
Attachments:
You must be logged in to view attached files.2016-11-18-08:10 #3177Kedves Imre!
Nagyon szépen köszönöm. A második oszlop tökéletes, de az első oszlop is hasznos ha az érték kb. 4-től nagyobb és nem kínai, azok többnyire a cirill betűs karakterek, ahogy láttam.
Ilyen rendkívül gyors válaszra nem is számítottam. Visual Basic-es megoldásban nem is gondolkodtam, mert ahhoz nem értek.
Még egyszer köszönöm.2016-11-18-08:45 #3178Közben megpróbáltam még a képleten alakítani, hogy könnyebben használható legyen más fájlok esetén is és ezzel sikerült az első oszlopnak megfelelő eredményt elérni:
{=SZUM(HA(UNICODE(KÖZÉP(B2;SOR(ELTOLÁS($A$1;;;HOSSZ(B2)));1))>255;1;0))}
Egyelőre jó lesz ez is, mindenesetre köszönöm a segítséget. -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.