ABD TARİHLERİNİ İNCEL / CSV’DE İNGİLTERE TARİHLERİNE DÖN
(yerel ayarlarınızı gerçekten değiştirmek istemiyorsunuz)
Bu 2 aşamalı bir süreçtir:
Excel'in bazı tarihleri İngiltere biçimine otomatik olarak dönüştürmeye çalışmasını ve ardından dönüştürmeyi karıştırmayı durdurmak için, Excel'de sütunu vurgulayın ve Veri> Sütunlardan Metin'e gidin.
- Sınırlandırılmış, İleri'yi seçin.
- Tüm Sınırlayıcı onay kutularını temizle, İleri
- 'Metin' veri türünü seçin, İleri
Biçimlendirme menüsü (sağ tıklayıp biçimlendirme hücreleri) aracılığıyla bunu ayarlamaya çalışmayın, çalışmaz. İngiltere’deki ayarları kullanarak ABD tarihlerini dönüştüreceğinden, columns Metin sütunlarına ’için Tarih’i seçmeyin.
[Ayrıca dunxd'nin cvs'leri içe aktarmadaki cevabına bakınız. Bu, txt olarak içe aktarıldığında da işe yarar.]
2. Yakın bir yakın sütunda, aşağıdaki formülü kopyalayın. Başlangıç hücrenizle F2 referanslarını değiştirin. Sütunu seçtiğiniz tarih biçiminde biçimlendirin.
= DATEVALUE (BİRLEŞTİR ((IF (MID (F2,4,1) = "/", MID (F2,3,1), IF (MID (F2,2,1) = "/", MID (F2,3 , 2), (MID (F2,6,1) = "/", MID (F2,4,2), MID (F2,4,1))))) EĞER "/", IFERROR ((IF ( ARAMA ( "/", SOL (F2,2)), SOL (F2,1), SOL (F2,2))), SOL (F2,2)), "/", IF (ISERR (Bul ( "/ " SAĞ (F2,3), 1)), sağ (r2,4), sağ (F2,2))))
Not: Bu, aşağıdaki biçimlerde tarihlerle çalışmalıdır:
- 1/1/14
- 01/1/14
- 1/01/14
- 01/01/14
- 2014/01/01
- 2014/01/01
- 2014/01/01
- 2014/01/01
Tarihiniz “/” ler ile birbirinden ayrılmıyorsa, bu sınırlayıcıyı yukarıdaki formülde değiştirin.
Umarım yardımcı olur.
GÜNCELLEME 17-2-2014
İstenildiği gibi bir parça arıza:
Datevalue ve Concatenate, İngiltere tarih biçiminde son dizgiyi oluşturuyor, bu yüzden ilginç bit:
a. ABD Günü'nü alın (orta değer)
(((MID (F2,4,1) = "/", MID (F2,3,1), IF (MID (F2,2,1) = "/", MID (F2,3,2 IF), (MID (F2,6,1) = "/", MID (F2,4,2), orta (F2,4,1))))) IF
En zor kısım. Tarih formatından emin değiliz. Bir yerde iki "/" olacağını biliyoruz ama nerede olduğunu bulmalıyız. En zor kısım 1/1/10 gibi bir veridir, ikinci "/", 4. chr kadar erken olabilir, 10/10 gibi bir tarihte ilk "/", 3., ikinci 6 chr. Birinci ve ikinci "/" i birbirinden ayıracak bir yola ihtiyacımız var. '1/1 /' formatının, "/" nin 4. chr olabileceği tek yol olması şanslı. Bu yüzden bunu kullanabiliriz:
- Eğer "/" tam 4ncü chr ise (d ve m tekli chr olur), 3.rcıyı ABD gün değeri olarak döndürün.
- Değilse (yani, ABD günü veya ayında en az bir 2chr numarası olması gerektiği anlamına gelir), 2. chr bir "/" ise, 3. ve 4. chr’leri ABD gün değeri olarak döndürün.
- Eğer değilse, 6. chr bir "/" ise (yani tarih
, gün ve ay için iki kat olmalıdır, yani. ABD gün değeri olarak 4. chr.
b. ABD Ayını Alın (soldaki değer)
IFERROR ((IF (SEARCH ( "/", SOL (F2,2)), SOL (F2,1), SOL (F2,2))), SOL (F2,2))
Oldukça basit,
- Eğer dizginin en solundaki 2 chr içinde "/" varsa, sadece 1.
- değilse, ilk 2 chr değerini döndürün.
- eğer hata, "/" yi bulamazsa, ilk 2 chr değerini de döndür
c. Yılı Alın (doğru değer)
IF (ISERR (BUL ( "/", SAĞ (F2,3), 1)), SAĞ (r2,4), SAĞ (F2,2))
Basit,
- "/" dizgenin son 3rrrrda mevcutsa, son 4rrr döndürülmediyse son 2rr döndürün (4rrr veya 2rrr).
Bu yardımcı olur umarım.