Hogyan lehet az Excel oszlopszámot betűvé alakítani

  • Ossza Meg Ezt
Michael Brown

Ebben a bemutatóban azt nézzük meg, hogyan lehet az Excel oszlopszámokat a megfelelő ábécés karakterekre cserélni.

Amikor összetett képleteket építünk az Excelben, néha szükségünk lehet arra, hogy egy adott cellából vagy egy adott számból egy oszlop betűjelét kapjuk meg. Ezt kétféleképpen tehetjük meg: beépített függvények vagy egyéni függvények használatával.

    Az oszlopszám ábécévé alakítása (egybetűs oszlopok)

    Ha az oszlop neve egyetlen betűből áll, A-tól Z-ig, akkor az alábbi egyszerű képlet segítségével kaphatja meg:

    CHAR(64 + col_number )

    Például a 10-es számot oszlopbetűvé alakítjuk a következő képlettel:

    =CHAR(64 + 10)

    Az is lehetséges, hogy beír egy számot valamelyik cellába, és arra a cellára hivatkozik a képletben:

    =CHAR(64 + A2)

    Hogyan működik ez a képlet:

    A CHAR függvény egy karaktert ad vissza az ASCII-készletben szereplő karakterkód alapján. Az angol ábécé nagybetűinek ASCII-értékei 65 (A) és 90 (Z) között vannak. Tehát az A nagybetű karakterkódjának megadásához 1 és 64; a B nagybetű karakterkódjának megadásához 2 és 64, és így tovább.

    Hogyan lehet az Excel oszlopszámot betűvé alakítani (bármilyen oszlop)

    Ha olyan sokoldalú képletet keres, amely az Excel bármelyik oszlopához (1 betűs, 2 betűs és 3 betűs) használható, akkor egy kicsit összetettebb szintaxist kell használnia:

    HELYETTESÍTŐ(CÍM(1, col_number , 4), "1", "")

    Az A2 oszlop betűjelével a képlet a következő formát ölti:

    =SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")

    Hogyan működik ez a képlet:

    Először egy cellacímet kell létrehozni a kívánt oszlopszámmal. Ehhez az ADDRESS függvénynek a következő argumentumokat kell megadni:

    • 1 a következőhöz row_num (a sorszám nem igazán számít, így bármelyiket használhatja).
    • A2 (az oszlopszámot tartalmazó cella) a következőknél column_num .
    • 4 a következőhöz abs_num argumentummal egy relatív hivatkozást ad vissza.

    A fenti paraméterekkel az ADDRESS függvény az "A1" szöveges karakterláncot adja vissza eredményként.

    Mivel nekünk csak egy oszlop betűjére van szükségünk, a SUBSTITUTE függvény segítségével eltávolítjuk a sorszámot, amely az "A1" szövegben megkeresi az "1" (vagy bármilyen sorszámot, amelyet az ADDRESS függvényben keményen kódoltunk), és üres karakterlánccal ("") helyettesíti.

    Az oszlop betűjének kinyerése az oszlopszámból egyéni függvény segítségével Egyéni függvény

    Ha rendszeresen át kell alakítania az oszlopszámokat ábécés karakterekké, akkor egy egyéni, felhasználó által definiált függvény (UDF) rengeteg időt takaríthat meg.

    A függvény kódja elég egyszerű és egyszerű:

    Public Function ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End Function

    Itt használjuk a Sejtek tulajdonságot, hogy az 1. sorban lévő cellára és a megadott oszlopszámra hivatkozzon, és a Cím: tulajdonsággal egy olyan karakterláncot ad vissza, amely abszolút hivatkozást tartalmaz az adott cellára (például $A$1). Ezután a Split függvény a visszaadott karakterláncot a $ jelet elválasztóként használva egyes elemekre bontja, és visszaadja az (1) elemet, amely az oszlop betűje.

    Illessze be a kódot a VBA-szerkesztőbe, és az új ColumnLetter A részletes útmutatást lásd: Hogyan illesszünk be VBA-kódot az Excelbe.

    A végfelhasználó szempontjából a függvény szintaxisa ilyen egyszerű:

    ColumnLetter(col_num)

    Hol col_num az az oszlopszám, amelyet betűvé kíván alakítani.

    A valódi képlet a következőképpen nézhet ki:

    =ColumnLetter(A2)

    És pontosan ugyanazokat az eredményeket adja vissza, mint az előző példában tárgyalt natív Excel-funkciók:

    Hogyan kaphatom meg az oszlop betűjét bizonyos cellában

    Egy adott cella oszlopbetűjének azonosításához a COLUMN függvénnyel kérje ki az oszlopszámot, és ezt a számot adja meg az ADDRESS függvénynek. A teljes képlet ezt a formulát fogja felvenni:

    SUBSTITUTE(CÍM(1, OSZLOP( cell_address ), 4), "1", "")

    Példaként keressük meg a C5-ös cella egyik oszlopának betűjelét:

    =SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")

    Az eredmény nyilvánvalóan "C" :)

    Hogyan kapjuk meg az aktuális cella oszlop betűjelét

    Az aktuális cella betűjelének kiszámításához a képlet majdnem ugyanaz, mint a fenti példában. Az egyetlen különbség az, hogy a COLUMN() függvényt üres argumentummal használjuk, hogy arra a cellára hivatkozzunk, ahol a képlet van:

    =SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")

    Hogyan hozzunk létre dinamikatartomány-hivatkozást az oszlopszámból

    Remélhetőleg az előző példák adtak néhány új gondolatébresztő témát, de talán elgondolkodott a gyakorlati alkalmazásokon.

    Ebben a példában megmutatjuk, hogyan használhatja az "oszlopszámot betűre" képletet valós feladatok megoldására. Különösen egy dinamikus XLOOKUP képletet hozunk létre, amely egy adott oszlopból húz értékeket annak száma alapján.

    Tegyük fel, hogy az alábbi mintatáblázatból egy adott projektre (H2) és hétre (H3) vonatkozó nyereségszámot szeretne kapni.

    A feladat elvégzéséhez meg kell adnunk az XLOOKUP-nak azt a tartományt, amelyből az értékeket visszaadja. Mivel nekünk csak a hét száma áll rendelkezésünkre, amely megfelel az oszlopszámnak, először ezt a számot alakítjuk át oszlopbetűvé, és csak ezután konstruáljuk meg a tartományhivatkozást.

    Az egyszerűség kedvéért az egész folyamatot 3 könnyen követhető lépésre bontjuk.

    1. Egy oszlopszám átalakítása betűvé

      A H3-ban lévő oszlopszámot a már ismert képlet segítségével változtassa át betűrendes karakterre:

      =SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")

      Tipp: Ha az adatkészletben szereplő szám nem egyezik az oszlopszámmal, mindenképpen végezze el a szükséges korrekciót. Ha például az 1. hét adatai a B oszlopban, a 2. hét adatai a C oszlopban, és így tovább, akkor a H3+1 segítségével kapjuk meg a helyes oszlopszámot.

    2. Egy tartományreferenciát reprezentáló karakterlánc konstruálása

      A tartományhivatkozás string formájában történő létrehozásához a fenti képlet által visszaadott oszlop betűjelét és az első és utolsó sorszámot kell összekapcsolni. Esetünkben az adatcellák a 3-tól 8-ig terjedő sorokban vannak, ezért ezt a képletet használjuk:

      =SUBSTITUTE(ADRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADRESS(1, H3, 4), "1", "") & "8"

      Tekintettel arra, hogy a H3 "3-at" tartalmaz, amelyet "C"-vé alakítunk át, a képletünk a következő átalakuláson megy keresztül:

      ="C"&"3:"&"C"&"8"

      És a C3:C8 karakterláncot eredményezi.

    3. Dinamikatartomány-referencia készítése

      A szöveges karakterlánc Excel által értelmezhető, érvényes hivatkozássá alakításához a fenti képletet fészkelje be az INDIRECT függvénybe, majd adja át az XLOOKUP 3. argumentumának:

      =XLOOKUP(H2, E3:E8, INDIRECT(H4), "Nem található")

      A visszatérési tartomány karakterláncát tartalmazó extra cellától való megszabaduláshoz a SUBSTITUTE ADDRESS képletet magában az INDIRECT függvényben is elhelyezheti:

      =XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADRESS(1, H3, 4), "1", "") & "8"), "Nem található")

    Egyéni ColumnLetter funkcióval kompaktabb és elegánsabb megoldást kaphat:

    =XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")

    Így találjuk meg az oszlop betűjét egy számból az Excelben. Köszönöm, hogy elolvastad és várom a jövő heti blogunkon!

    Gyakorlati munkafüzet letölthető

    Excel oszlopszám betűre - példák (.xlsm fájl)

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.