Excel'in ABD tarihlerini İngiltere tarihleri ​​olarak nasıl durdurabilirim?


7

Birleşik Krallık’tayım, ABD’de verilen tarihlerin listesini içeren bir sorunum var. Excel, her iki biçimde de geçerli olanları İngiltere’nin tarihleri ​​olarak ele alıyor gibi görünüyor (örneğin, 03.01.2012, 1 Mart’tan ziyade 3 Ocak’ta) ve İngiltere’de geçerli olmayanlara (örneğin, 03/13 / 2012) temel metin olarak. Bu seçimin bölgesel ayarlarımla ilgili olduğunu düşünüyorum.

İstediğim, sistemin bu metin sütununun ABD tarih biçiminde verildiğini algılaması ve hesaplamalar için temel tarih göstergesine dönüştürmesi.

Bunu nasıl yaparım?

EDIT: Tarihler, formdaki bir CSV dosyasında sağlanır:

3/ 1/2012, 09:01     , 18:58     ,9.4,0.6

buradaki 3/1, 1 Mart’tır.


"ABD formatında sağlanmıştır" derken, bir CSV dosyasını mı içe aktarıyorsunuz?
RedGrittyBrick

Evet, formun çizgileri olan bir CSV dosyası: 3 / 1/2012, 09:01, 18:58, 9.4,0.6 Nerede 3/1/2012, 3 Mart
deworde,

Sistem yerel ayarınız nedir (Bölge ve Dil Seçeneklerinde hangi yerel ayarın yapıldığı gibi)?
dnbrv

Yanıtlar:


11

Excel 2010 için, CSV dosyanızı açmak yerine yeni bir çalışma kitabı oluşturun, ardından DATA sekmesinde, Dış Veri AlMetinden öğesini seçin . Bu, tarihlerin nasıl işleneceği de dahil olmak üzere metin verilerinizi nasıl yorumlayacağınızı belirleyebileceğiniz arabirime girer.


2
Bu en iyi çözümdür. CSV içe aktarılmak yerine açılırsa, Excel bu Generalformatı her hücreye uygular . Genel formatlı bir hücre Excel tarafından bir tarih olarak tanınırsa, Excel dahili olarak hücrenin değerini tarih gösteren bir seri numarasına değiştirir. Excel, bölgesel ayarlarınıza göre tarihleri ​​tanır, bu nedenle göründüğü tarihler DMYdönüştürülür. Bu dönüşüm gerçekleştiğinde, orijinal tarih verileriniz kaybolur. Bu yüzden CSV'lerinizi Excel'de açmak yerine İTHALAT yapmalısınız.
Excellll

4

Dosyanın uzantısını ".csv" den ".txt" ye değiştirin ve ardından Excel ile açın. Excel size bir metin alma sihirbazı verecektir. İlk sayfada 'sınırlandırılmış'ı seçin, ikincisinde' virgül 'seçeneğini işaretleyin ve üçte birinde her bir veri sütunu için türü seçebilirsiniz. Türlerden biri tarih olup, çeşitli biçimlerde (m / d / y, d / m / y, vb.) Bir açılana sahiptir.


3

Asıl sorun, tarihlerin biçimlendirilmiş bir biçimde sunulmasıdır, her acemi programcının öğrendiği ilk şey, tarihleri ​​hiçbir zaman biçimlendirmemektir, bunlar sadece doğru biçim için yorumlanan sayılardır.

Yani gerçek çözüm şudur: 1.Sayısal biçimdeki tarihlere sahip olmak, bunu başarısız olmak 2. Tarihleri ​​kendiniz sayı biçimine dönüştürmek ve daha sonra bunların tarih biçimindeki ayrı bir sütunda görüntülenmesini sağlamak.

Sayı 2, herhangi bir programlamayı içermez, yalnızca orijinal sütun biçimini genel metin olarak tutar, formül kullanarak (daha iyi hesaplanmış bir tablo sütunu olur), sayı biçimine dönüştürür ve bu değeri tarih biçimi olarak görüntüleyen başka bir sütun beğeninize.


3

Aynı problemle karşılaştım ama biraz farklı bir şekilde. CSV dosyasından içe aktarılan tarihler İngiltere formatıdır ancak tarihlerin her iki ABD ve İngiltere excelinde geçerli olduğu yerler bunları ABD formatı olarak kabul eder. Geçici çözümüm, tarihleri ​​metin olarak (NumberFormat = "@" kullanarak) sayfaya ayrıştırmak ve ardından hücreleri doğru tarih biçimi olarak yeniden biçimlendirmek (NumberFormat = "dd / mm / yyyy").

Görünüşe göre (zaten bana) bunu yapmanın en basit yolu.


1

Muhtemelen aşağıdakileri yapabilirsiniz:

1) Windows görev çubuğundaki tarih ayarını ABD zamanlamasına göre değiştirin. İşte bunun nasıl yapılacağı hakkında bir rehber: http://www.sysprobs.com/change-date-format-windows-7-ddmmyyyy

2) ABD zamanlamasını excel olarak ayarlayın. Hücreleri formatla> Tarih> Yerel> İngilizce (ABD)

Bu benim için çalıştı, yardımcı olur umarım.


1

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:

  1. 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.

    1. Sınırlandırılmış, İleri'yi seçin.
    2. Tüm Sınırlayıcı onay kutularını temizle, İleri
    3. '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.


Bunun nasıl çalıştığını açıklar mısınız? Örneğin, CONCATENATE'in argümanlarına ayrıştırın ve her birinin ne olduğunu (ve neden) açıklayın.
Scott

Fikir DD ve MM'yi değiştirmektir. Tarih biçiminden (yukarıdakilerden herhangi biri olabilir) emin değiliz, bu nedenle formülün ilk kısmı temel olarak orta dize uzunluğunu belirlemek için ilk "/" ve ikinci "/" i arıyor. Formül ilk önce orta değeri (MID) (ABD biçiminde gün) bulur; Ardından, 'LEFT' kullanarak Sol Değer (ABD ayı) için aynısını yapar. . Bu yüzden bir 2 basamaklı yıl varsayar Eğer bir 4 basamaklı yıl varsayar değilse Sonunda,) '(ISERR IF' onu denetler "/" SAĞ kullanarak son 3 char (bulunan başlayarak.
Pete

0

Ben de aynı problemi yaşadım, fakat bunun tersi: Avustralya’dan ABD’ye.

Benim durumumda CSV dosyasını açan bir makroyu çalıştırıyorum. Dosyanın bir sütununda tarihler var. Bazı hesaplanan verilerle fazladan bir sütun ekledikten sonra makro onu bir .XLS dosyası olarak kaydeder. XLS dosyasında, her iki formatta da geçerli olan bir tarih değişecek, yani 1/11/12 11/1/12 olacak. Makronumun tarih sütununa hiçbir şekilde dokunmadığını ve CSV'nin her zaman doğru biçime sahip olduğunu unutmayın. Bu, yalnızca Office 2010 çalıştıran müşterinin PC'sinde olmuş gibi görünüyor. Office 2000 veya 2003'te görmedim.

Başa çıkabilmemin tek yolu, CSV'yi içe aktarmak yerine makroyu değiştirmek ve tarih sütunu için Metin biçimini belirtmektir.

Makro kabuğa grep komutu gibi bir şeyin tarihin önüne bir "boşluk" koyması gibi başka bir olasılık olduğunu düşündüm. Bu, Excel'in bir tarih olarak yorumlanmasını önler (tarihler etrafında yapılan alıntılar yardımcı olmaz). İthalatın daha temiz bir yol olduğuna karar verdim. Düzenlemeyi yapacak yerel bir Win yardımcı programı olmadığından, müşterinin bilgisayarına grep yüklemem gerekirdi.


0

Bu problemimi bir süredir yaşadım. Sıkça yanlış anlaşılan bir problem gibi görünüyor. Özellikle, bilgisayarın mutlaka doğru biçimde bir tarih tanımayacağı. Eğer bir tarih DD / AA / YYYY formatında kaydedilmiş olsaydı, excel bir MM / DD / YYYY formatında yorumlardı. 05.06.2012, 5 Haziran 2012, ancak Excel'in 6 Mayıs 2012 olarak yorumlanacağı anlamına gelecektir. 13 ayı olmadığı için tarihi hiç tanıma.

Bu sorunu düzeltmek için ilk iki tarih rakamını çevirecek bir formül geliştirdim. Bu, ABD’yi İngiltere’ye dönüştürmek veya tersi yönde kullanılabilir.

=IF(ISERR(DATEVALUE(F10))=TRUE,DATE(RIGHT(TEXT(F10,"DD/MM/YYYY"),4),LEFT(TEXT(F10,"DD/MM/YYYY"),2),LEFT(RIGHT(TEXT(F10,"DD/MM/YYYY"),7),2)),IF(ISERR(DATEVALUE(TEXT(F10,"mm/DD/YYYY")))=TRUE,DATE(RIGHT(TEXT(TEXT(F10,"mm/DD/YYYY"),"DD/MM/YYYY"),4),LEFT(TEXT(TEXT(F10,"mm/DD/YYYY"),"DD/MM/YYYY"),2),LEFT(RIGHT(TEXT(TEXT(F10,"mm/DD/YYYY"),"DD/MM/YYYY"),7),2)),0))

Bu benim için tam olarak istediğim gibi çalıştı ve bu alanda henüz var olmayan bir çözüm olduğuna inanıyorum. Lütfen, bu benim için olduğu gibi sizin için de işe yararsa bana bildirin.

PS. Bu formül için Excel 2007 kullanıyordum.


2
Bu nasıl 03/04/2013 - 04/03/2013 tarihlerini nasıl çevirir? Bu çok daha kötü görünüyor: bazı tarihleri ​​değiştirecek, ancak bütün tarihleri ​​değiştirmeyecek, bu nedenle ABD ve İngiltere tarihlerinin bir karışımına sahipsiniz.
MSalters

0

Yakın zamanda Excel 2010 ile de benzer bir sorun yaşadım. Excel, tarihleri ​​ABD tarih formatı olarak doğru şekilde yorumlanamayan yani bir gün> 12 olan herhangi bir tarihle yorumladı. <13 günü olan tüm tarihler için ABD mm / gg / yy biçiminde - tümü aynı sütunda ve hepsi aynı biçimde. İlk eylemim, hem Excel hem de Windows'taki ayarlarımın İngilizce (Avustralya) veya en az İngilizce (İngiltere) olduğunu kontrol etmekti. Her ikisi de doğru değildi, bu yüzden ikisini de değiştirdim ve önerildiği gibi Excel'i yeniden başlattım. Bu sorunu çözmedi. Tarih sütununu metin olarak yeniden biçimlendirdim, doğru tarihlerle ABD tarihleri ​​arasına birkaç satır ekledim, kopya tutamacını sürükleyerek geri doldurdum, sonra doğru tarihleri ​​yeni hücrelere yazdım, kayıttaki diğer hücrelerin içeriğini kendi kayıtlarına sürükledim. ne yer ve tehlikeli satırları sildim.

Tuhaf bir şekilde, soldan yaslanmış hücrelerden birinden bitişik hücreye sektiğimde, hücre sağa doğru versiyona yeniden biçimlendi ve doğru tarih biçimini korudu. Bunu, Excel'in her ikisi için de şeridin "Sayı" bölümünde "Tarih" tanımlayıcısını gösterdiğini açıklayamam ama sorunu düzeltti.


0

Sorun, tarih ayarınızın excel olarak (ve bazı tarih) ayarlanmış olması ve asterik ( ) ile başlayan tarih biçimlerinin , işletim sistemi için belirtilen bölgesel tarih ve saat ayarlarındaki değişikliklere yanıt vermesidir . Tarihlerinizin değişmemesini sağlamak için kontrol panelinize gidip tarih ve saat biçimini ayarlamanız gerekir. Bazen 01/11/2013, örneğin 11/01/2013 (11 Kasım), ancak 30/11/2013 çevirmeyecektir, bunun nedeni ms'in 30.'u geçerli bir ay olarak tanımamasıdır. formül gerekmez



-1

Sütuna sağ tıklayın, format hücreleri seçin, "Sayı" olan ilk sekmeyi seçin, kategori tarihini seçin ve sağ tarafta "Yerel" i "İngilizce (ABD)" olarak ayarlayın.


Bunu denedim. Bu, önceden tanınmış bir tarihin hücre içinde biçimlendirilme şeklini değiştirir (örneğin, tarih olduğunu biliyor ve bu tarihin nasıl gösterileceğini anlatıyor). Tarihin hangi metin temsilinin tarih olarak tanınacağını kontrol etmez.
deworde
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.