
Kalit ustun: ikki jadvalni nom bilan emas, kod bilan solishtiring
1C va sanoq jadvalini nomlar bo'yicha solishtirish xato beradi. VLOOKUP yoki XLOOKUP bilan kod orqali bog'lash va topilmay qolgan qatorlarni ajratish.
1C dan chiqarilgan qoldiq jadvali va sanoq natijalari yonma-yon turibdi. Ko'pchilik ularni nomi bo'yicha solishtiradi: «Un, 50 kg» yonidan xuddi shunday yozilgan qator topiladi, deb umid qiladi. Lekin nomlar bir belgiga farq qilsa, ortiqcha bo'shliq bo'lsa yoki so'zlar boshqa tartibda yozilgan bo'lsa, formula tovarni topolmaydi. Yomoni, ba'zan boshqa tovarni topib beradi va xatoni yashiradi. Yechim oddiy: nomni emas, har bir tovarga bittadan berilgan noyob kodni, ya'ni kalit ustunni solishtiring.
Kalit ustun nima
Kalit qatorni bir ma'noda aniqlaydigan qiymatdir. Solishtirish uchun mos keladiganlari:
- 1C dagi tovar kodi yoki artikul;
- ichki SKU, agar u har bir tovarga bittadan berilgan bo'lsa;
- shtrix-kod, lekin faqat «bir kod — bir tovar» qoidasi bajarilganda.
Mos kelmaydiganlari: nom (o'zgaradi va takrorlanadi), qatorning tartib raqami (har bir eksportda boshqacha bo'ladi), yetkazib beruvchining artikuli (turli yetkazib beruvchilarda bir xil chiqib qolishi mumkin). Kalit sanoq varag'ida ham bo'lishi kerak, shuning uchun varaqni 1C ro'yxatidan tuzing va kod ustunini sanovchi qo'li bilan yozmasin, bosib chiqarilgan holda tursin.
Solishtirishdan oldin kalitni tayyorlang
- Ikkala jadvalda kod ustunini matn formatiga o'tkazing, bosh nollar saqlansin.
- Ortiqcha bo'shliqlarni TRIM funksiyasi bilan olib tashlang.
- Kodning noyobligini tekshiring: COUNTIF(A:A;A2) natijasi 1 dan katta bo'lsa, kod takrorlangan. 1C jadvalida takror kod bo'lmasligi kerak. Sanoq jadvalida bitta tovar ikki joyda sanalgan bo'lsa, avval SUMIF bilan qiymatlarni bitta qatorga jamlang.
- Ikkala fayldagi ustun sarlavhalarini bir xil nomlang, aks holda keyin adashasiz.
VLOOKUP va XLOOKUP bilan bog'lash
Faraz qilaylik, 1C varag'ida A ustun — kod, B ustun — qoldiq; sanoq varag'ida A ustun — kod, B ustun — fakt. 1C varag'idagi C ustunga quyidagi formulani yozing: IFERROR(VLOOKUP(A2;Sanoq!A:B;2;0);"topilmadi"). Oxirgi argument 0 aniq moslikni bildiradi; usiz Excel yaqin qiymatni oladi va jim turib noto'g'ri son beradi. Yangi versiyalarda (Excel 2021 va Microsoft 365) XLOOKUP qulayroq: u ustunlar tartibiga bog'liq emas va topilmagan holat uchun matnni o'zi qabul qiladi.
D ustunda farqni hisoblang: fakt minus qoldiq. «Topilmadi» yozilgan qatorlar bu hisobga kirmasin, ular alohida ko'rib chiqiladi.
Bog'lash ishlamasa: besh keng tarqalgan sabab
- Bir jadvalda kod son, ikkinchisida matn (katak burchagida yashil uchburchak bo'ladi). Tashqi ko'rinishi bir xil, lekin Excel ularni teng deb hisoblamaydi.
- Oxirida ko'rinmas bo'shliq yoki bo'linmaydigan bo'shliq turibdi.
- Kod boshidagi nol yo'qolgan: 000451 o'rniga 451 turibdi.
- 1C da tovar kodi o'zgartirilgan, sanoq varag'i esa eski eksportdan tuzilgan.
- Formula ustunlar oralig'ini noto'g'ri ko'rsatgan: qidiruv ustuni oralig'ning birinchi ustuni bo'lmagan.
Birinchi uch sababni LEN va ISNUMBER funksiyalari bilan bir daqiqada ko'rish mumkin, to'rtinchisi uchun eksport sanasini solishtirish yetarli.
Ikki tomonlama tekshiruv
Bir tomonlama bog'lash yetarli emas. Birinchi yo'nalishda 1C dagi kodlar sanoqdan qidiriladi: topilmaganlar sanalmagan yoki varaqdan tushib qolgan tovarlardir. Ikkinchi yo'nalishda sanoqdagi kodlar 1C dan qidiriladi: topilmaganlar yangi, xato yozilgan yoki boshqa omborga tegishli kodlardir.
Shartli misol: 1C da 1 200 ta kod, sanoqda 1 150 ta. Mos kelganlari 1 120 ta. 1C da bor, sanoqda yo'q qatorlar 80 ta: ularning bir qismi nol qoldiqli kartochkalar, bir qismi esa sanalmay qolgan javon. Sanoqda bor, 1C da yo'q qatorlar 30 ta: ko'pincha bu kodni qo'lda yozishdagi xato. Ikkinchi tekshiruvsiz bu 30 qator butunlay ko'zdan chetda qolardi.
Topilmagan qatorlar bilan nima qilish
#N/A ni jadvalda qoldirmang. Topilmagan qatorlarni alohida varaqqa ajrating va har biriga sabab yozing:
- kodda xato;
- sanalmagan joy;
- boshqa ombor;
- yangi, hali 1C ga kiritilmagan kartochka.
Sabab aniqlanmaguncha bunday qatorlar umumiy farq hisobiga qo'shilmaydi. Kod xato bo'lsa, uni tuzatib, bog'lashni qayta o'tkazing.
Xulosa
Nom bo'yicha solishtirish tasodifiy mos kelishlarga tayanadi, kod bo'yicha solishtirish esa tekshirib bo'ladigan jarayon. Kalitni tayyorlang, aniq moslik bilan bog'lang, ikki tomonlama tekshiring va topilmaganlarni sabab bilan ajrating. SkladSoft 1C va sanoq jadvallarini kod bo'yicha bog'lab, topilmagan qatorlarni sabablari bilan topshiradi; tizimdagi o'zgartirishlar faqat sizning yozma roziligingiz bilan kiritiladi.