• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü girilen veriye barkoddaki gibi kontrol hanesi ekleme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Safih00

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
6 May 2022
Mesajlar
30
Aldığı beğeni
2
Excel V
Office 2013 TR
Konuyu Başlatan
Merhaba;
Şöyle bir sorunum var. Excele veri girip bunu barkodun altındaki yazılara dönüştürücem ama barkod olmayacak sadece yazı olacak. Barkod olmadığı için kontrol hanesini otomatik vermiyor sadece veriyi veriyor. Ben yazdığım rakamların sonuna kontrol hanesini vermesini istiyorum.
Örneğin "0324840071201" verisini girdiğim zaman bana otomatik olarak "8" rakamını vermesi lazım. Tabii bu bir kurala göre hesaplanıyor. Ufak bir araştırma sonucu şöyle bir bilgi buldum. Bu hesabı excelde yaptırabilir miyim?



Ekran Alıntısı.PNG
 
Çözüm
Sayın Alpi 'nin paylaştığı kodları aşağıdaki ile değiştirin
Kullanmaya çalıştığınız barkod ITF-14 ve GTIN14'e göre hesaplama yapmanız gerekli ancak siz EAN13 için GTIN13'e göre hesaplama örneği vermişsiniz dolayısı ile paylaştığınız bilgi hatalı olduğundan arkadaşlar da boşuna emek harcayıp duruyorlar.
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Kodlara satır satır açıklama yazdım.
Aşağıdaki kodu bir modüle kopyalayarak incelerseniz daha iyi anlarsınız.

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Sanırım biraz erken konuşmuşum özür diliyorum.

Kodları önce biraz inceledim sonra değiştirmeden kendi projeme ekledim görseldeki gibi olması gerekirken farklı rakamlar veriyor.
 

Ekli dosyalar

  • Ekran Alıntısı.PNG
    Ekran Alıntısı.PNG
    11.7 KB · Gösterim: 10
0034787325101 mesela bunu sonuna barkod sistemi otomatik 7 veriş
0034787325102 - 4
0034787325103 - 1
0034787325104 - 8
0034787325105 - 5 vermiş

içerdiği rakamlara göre kendi hesaplamasına göre otomatik olarak toplayıp veriyor
 
Bu barkodların hepsini söylediğiniz kritere göre hesaplayınca
0034787325101
9​
0034787325102
8​
0034787325103
7​
0034787325104
6​

Böyle çıkıyor. Siz de söylediğiniz şekilde hesaplayınca böyle çıktığını göreceksiniz.
 
Formüllerde küçük bir hata yapmışım. Yeni farkettim.
sayın @kralım barkod sonucunun 8 olması lazım ve bunu vba da yapabilir miyiz
Ayrıca ben makro bilmem. Fonksiyonlarla çalışırım.
 

Ekli dosyalar

  • ORNEK (1) (1).xlsx
    12.7 KB · Gösterim: 0
Barkod numarası Kurye sistemi için olmazsa olmaz bir değerdir. Çünkü, kartlar barkod numarası üzerinden dağıtılmaktadır.

Peki Barkod numarasının bir üretim algoritması var mı yoksa öylesine üretilen bir değer mi?

Barkod numarasının bir üretim algoritması vardır. GenellikleEAN-13 standartlarına göre üretilir. Adından da anlaşılacağı üzere toplam 13 rakamdan oluşan bir numaradır. 13.hanesi check digit(Kontrol basamağı)değeridir.

EAN-13 standardına göre barkod üretmeyi bir örnek üzerinden inceleyelim:

EAN-13 tipindeki 8697543170035 barkod rakamında 5 kontrol basamağıdır.

1.Adım: Barkod rakamının çift haneleri toplanır.6+7+4+1+0+3=21

2.Adım: 1.adımda çıkan sayı 3 ile çarpılır. 21*3=63

3.Adım: Barkod rakamının tek haneleri toplanır. 8+9+5+3+7+0=32

4.Adım: 2 inci adımda elde edilen sayı ile 3 üncü adımda elde edilen sayı toplanır. 63+32=95

5.Adım: 4.adımda elde edilen sayı (yukarıda 95 sayısı) kendisinden büyük 10 u katı olan 100 den çıkartılır.100-95=5Sonuç: 6 ncı adımda elde edilen sayı (yukarıda 5 olarak elde edilmiş) kontrol basamağı (CheckDigit) rakamıdır.
Sağol hocam yapay zekada alttaki gibi yazdı olay anlaşıldı.


Barkod numarasının algoritması, genellikle barkodun türüne (örneğin, EAN-13, UPC-A) bağlıdır. En yaygın kullanılan barkod türlerinden biri EAN-13 barkodudur. Bu algoritma, barkodun doğruluğunu kontrol etmek ve geçerli bir barkod oluşturmak için bir mod 10 doğrulama sistemi kullanır.


EAN-13 Barkod Yapısı:​


EAN-13 barkodu 13 basamaktan oluşur:


  • İlk 12 basamak: Üretici ve ürün bilgilerini içerir.
  • Son basamak: Kontrol basamağıdır ve doğrulama amacıyla kullanılır.

Kontrol Basamağının Hesaplanması (EAN-13):​


Kontrol basamağını hesaplamak için şu adımlar izlenir:


  1. İlk 12 basamağı alın.
  2. Çift ve tek konumlu basamakları ayırın (soldan sağa doğru):
    • Tek konum: 1, 3, 5, ...
    • Çift konum: 2, 4, 6, ...
  3. Çift konumlu basamakların toplamını 3 ile çarpın.
  4. Tek konumlu basamakların toplamını bu değere ekleyin.
  5. Toplamı 10'a yuvarlayarak bir sonraki tam sayıya ulaşın.
  6. Toplamın birler basamağını çıkararak kontrol basamağını bulun.

Örnek:​


Barkodun ilk 12 basamağı: 400638133393


  1. Çift konumlu basamaklar: 0, 6, 8, 3, 3, 3
    Toplam: 0+6+8+3+3+3=230 + 6 + 8 + 3 + 3 + 3 = 23
    Çarp: 23×3=6923 \times 3 = 69
  2. Tek konumlu basamaklar: 4, 0, 3, 1, 3, 9
    Toplam: 4+0+3+1+3+9=204 + 0 + 3 + 1 + 3 + 9 = 20
  3. Genel toplam: 69+20=8969 + 20 = 89
  4. 89’u bir sonraki 10’un katına yuvarla: 90
  5. 90’dan toplamı çıkar: 90−89=190 - 89 = 1

Kontrol basamağı: 1


Barkod: 4006381333931


Diğer Barkod Türleri:​


  • UPC-A: 12 basamaklıdır, EAN-13’e benzer bir algoritma kullanır.
  • Code 39 veya Code 128 gibi diğer türlerde kontrol basamağı zorunlu olmayabilir.

Hangi barkod türü ile çalıştığınızı belirtirseniz daha detaylı algoritma açıklayabilirim!
 
Ben Almanca anladığım için bir Almanca video bulup izledim ve ordada adam önceki mesajımdaki gibi 3 ile çarpmış

 
Bir başka formül alternatifi de böyle;

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Bilgi en büyük güçtür.
Gönderdiğin videoyu Türkçeye çevirdim ve üzerinde çalışıyorum. Galiba sonuç 8 çıkacak gibi. Birazdan gönderirim.
 
A1 deki barkodu kontrol eder.
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Esasen bende birkaç saat önce benzer kod ile yapmıştım ve mantık hatasından bırakmıştım önceki mesajımdaki yazdığım anlamama olayından.
Denerken roundup yerine yanılmıyorsam rounddown yazıp +10 eklemiştim -1) den sonra.
 
0324840071201
0280721
062402163=60
344010=12
60+1272
80-728
 
Bilgi en büyük güçtür.
Gönderdiğin videoyu Türkçeye çevirdim ve üzerinde çalışıyorum. Galiba sonuç 8 çıkacak gibi. Birazdan gönderirim.
Zaten senin anlattığın gibi aynısını anlatmış.En başta ben yanlış anlamışım ilk mesajdaki resimden şimdi tamamen anladım hocam olayı zaten.
 
Excele dökülmüş hali.
 

Ekli dosyalar

  • ORNEK (1) (1).xlsx
    11.2 KB · Gösterim: 1
Sayın Refaz,
Ben kaçıyorum. Sana iyi geceler.
 
Sayın VetExc,
Sana da iyi geceler diliyorum.
 
Hayırlı geceler cümleten benim olduğum yerde saat 21:36 daha erkendi :)
 
Benim barkodum ITF-14 acaba EAN13 ve ITF-14 sistemi farklı olur mu. Ama neden farklı olsun ki
 
Son düzenleme:
Benim barkodum ITF-14 acaba EAN13 ve ITF-14 sistemi farklı olur mu. Ama neden farklı olsun ki
ITF-14 sistemi 14 karakterlidir. Halbuki ilk mesajınızdaki yayımladığınız barkod 13 karakterli. Hangi formata karşılık geldiğini kontrol etmek için aşağıdaki siteyi kullanınız.

 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst