Hogyan alakítottunk át egy „piszkos” exportot Shopify-katalóggá csak Google Sheettel

Alpar Torok

Volt egy exportunk, ami első ránézésre reménytelennek tűnt: duplikált id-k, kevert színek a terméknevekben, külön fájlban a képek. Ebből készítettünk egy tiszta, Shopify-importra kész katalógust és Google Merchant Center-kompatibilis feedet – kizárólag Google Sheets segítségével.

1. rész – Színek automatikus kinyerése Google Sheettel

  • Szín kinyerése a terméknévből a „leghosszabb egyezés nyer” szabály alapján (pl. „világoszöld” > „zöld”).
  • HEX-kódok automatikus kitöltése egy színadatbázisból.
  • Szín + HEX szinkronizálása SKU alapján.
  • Képek hozzárendelése Product ID szerint.
  • Feed előkészítése Shopify + GMC struktúrához.
  • ARRAYFORMULA használata, hogy az egész oszlop automatikusan töltődjön – nincs több kézi másolgatás.

Szín kinyerése a terméknévből

Feltételezés: a terméknév az S2-ben van, a Colors sheetben B:B = szín neve, C:C = HEX érték.

=IFERROR(
  INDEX(
    FILTER(Colors!B$2:B,
      REGEXMATCH(LOWER(" "&S2&" "),
      "(^|[^[:alnum:]]|_)"&
      REGEXREPLACE(LOWER(Colors!B$2:B),"([.^$|?*+(){}[\\]\\-])","\\$1")&
      "($|[^[:alnum:]]|_)")),
    MATCH(
      MAX(LEN(FILTER(Colors!B$2:B,
        REGEXMATCH(LOWER(" "&S2&" "),
        "(^|[^[:alnum:]]|_)"&
        REGEXREPLACE(LOWER(Colors!B$2:B),"([.^$|?*+(){}[\\]\\-])","\\$1")&
        "($|[^[:alnum:]]|_)")))),
      LEN(FILTER(Colors!B$2:B,
        REGEXMATCH(LOWER(" "&S2&" "),
        "(^|[^[:alnum:]]|_)"&
        REGEXREPLACE(LOWER(Colors!B$2:B),"([.^$|?*+(){}[\\]\\-])","\\$1")&
        "($|[^[:alnum:]]|_)"))),
    0)
  ),
"")

HEX a megtalált színhez (ha az előző képlet T2-ben van):

=IF(T2<>"", IFERROR(VLOOKUP(T2, Colors!B$2:C, 2, FALSE), ""), "")

2. rész – Színek és HEX hozzárendelése SKU alapján

Ez a képlet minden SKU-hoz automatikusan hozzáadja a megfelelő színt:

=IF(R2="","", LOWER(IFERROR(VLOOKUP(TRIM(R2), {ARRAYFORMULA(TRIM(Export!W:W)), Export!Y:Y}, 2, FALSE), "")))

És ez adja hozzá a HEX kódot:

=IF(R2="","", IFERROR(VLOOKUP(TRIM(R2), {ARRAYFORMULA(TRIM(Export!W:W)), Export!Z:Z}, 2, FALSE), ""))

3. rész – Képek összekapcsolása Product ID alapján

Ha az Images sheetben A az ID, C a fő képek, D a variációképek:

=ARRAYFORMULA(
  IF(LEN(A2:A)=0, ,
    { IFNA(XLOOKUP(A2:A, Images!A:A, Images!C:C, "")),
      IFNA(XLOOKUP(A2:A, Images!A:A, Images!D:D, "")) }
  )
)

4. rész – Shopify feed (GMC-ready) előkészítése

  • Egységes színek és HEX értékek.
  • SKU egyediség biztosítása.
  • Metafield-ek helyes összerendelése.
  • Megfelelő kép-hozzárendelés.
  • Árak és promóciók konzisztensen kezelve.

5. rész – Kategória mapping automatizálása Apps Scripttel

A kategóriák következetességét egy egyszerű Google Apps Script oldja meg, ami figyel a diakritikákra és a többértékes cellákra is.

function MAP_CAT(input) {
  const sh = SpreadsheetApp.getActive().getSheetByName('Mapping');
  const vals = sh.getRange(2,1,sh.getLastRow()-1,3).getValues();
  const map = {};
  vals.forEach(([k,p,c]) => map[k.toLowerCase()] = [p||'', c||'']);
  const norm = (s) => s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'');
  const token = (input||'').split(',')[0].trim();
  return map[norm(token)] || ['Egyéb', token];
}

6. rész – Vonalkódok egyesítése

Ha két oszlopban vannak a vonalkódok, és az elsőnek van prioritása:

=ARRAYFORMULA(IF(A2:A<>"", A2:A, B2:B))

7. rész – Duplikált termékek tisztítása

Shopify import után duplikátumok jelentek meg, mert néhány SKU rosszul volt hozzárendelve. Címkézéssel, szűréssel és néhány kattintással sikerült mindet eltávolítani – több száz terméket percek alatt.

8. rész – Amit ebből tanultunk

Három hét alatt káoszból rendszert építettünk. A Google Sheets többé nem csak számolótábla, hanem automatizálási eszköz. Türelemmel és jól felépített formulákkal a legzavarosabb exportból is lehet tiszta, importálható Shopify katalógus.

Szeretnél egy gyors mini-auditot a katalógusodra? Foglalj 30 perces konzultációt

„48 órát töltöttünk digitális régészettel e-kereskedelem-fejlesztés helyett.”

Vissza a blogba