Dlaczego wszystkie kolumny tekstowe w arkuszu kalkulacyjnym Excel zaczynają się od wiodącego pojedynczego cudzysłowu

11

Próbuję zaimportować do bazy danych niektóre dane wysłane do nas w programie Excel, z których rzadko korzystam. Pojedynczy cudzysłów pojawia się jako część danych każdej komórki, która zawiera wartość tekstową:

    'PUBLIC, JOHN Q.

Kiedy klikam komórkę w Excelu, pole edycyjne u góry arkusza kalkulacyjnego, po prawej stronie przycisków {X, zaznacz, Fx}, również pokazuje tam wiodący pojedynczy cytat. W związku z tym nasze narzędzie do importowania nie wprowadza wiodącego cudzysłowu. Jest w danych Excela.

Możliwe, że ten artefakt został stworzony na ich końcu poza Excelem, ale jeśli już to widziałeś i wiesz, że to z czegoś, co robią w Excelu, chciałbym wiedzieć, co to jest, więc mogę poprosić ich o przestań to robić. Czyszczenie tych danych naprawdę zamienia się w znaczną stratę czasu, ponieważ takich arkuszy jest wiele, a my otrzymamy o wiele więcej.

mrblint
źródło
Jak importujesz dane do bazy danych? Jakie zestawienie jest ustawione w bazie danych? Zazwyczaj import do Excela do baz danych wymaga starannego ustawienia sortowania. Czy używasz języka innego niż angielski (ponownie sortowanie)? Jeśli nie, być może dane są wprowadzane w ten sposób.
Atif Shaikh
1
Wiodący apostrof jest zwykłym sposobem na poinformowanie Excela, że ​​tę komórkę należy traktować jak tekst (bez względu na to, czy jest w niej liczba lub formuła). To nie jest artefakt.
Celowo
LOL. Użyli pojedynczego cudzysłowu, w którym Excel nigdy nie próbowałby przekonwertować na liczbę (z nazwami), ale nie użyli go z kodami centrum kosztów, które mają wiodące zera, np. 0100, gdzie Excel zmieni wartość.
mrblint

Odpowiedzi:

8

Apostrof 'jest znakiem specjalnym dla programu Excel, gdy pojawia się jako pierwszy znak w komórce. Mówi Excelowi, aby traktował resztę ciągu jako tekst.

Można go usunąć przez:

  • Wybieranie komórek
  • Następnie menu Dane / Tekst do kolumn

Prawdopodobnie możesz napisać makro, aby to zautomatyzować.

Alternatywnie wyeksportuj dane do csv, a następnie zaimportuj plik csv do bazy danych.

DavidPostill
źródło
Dzięki, ale Arrrgh! tutaj dla Excela. Dane / Tekst do kolumn muszą być wykonywane kolumna po kolumnie, jedna kolumna na raz.
mrblint
CSV prawdopodobnie zajmie najmniej czasu. Dzięki
mrblint,
Najlepsza odpowiedź w Internecie! Tyle fantazyjnych i skomplikowanych sugestii na całym świecie.
James
1

Whoa, zmienili coś w Excel 2013

Sugerowany przez Microsoft sposób usuwania ukrytych apostrofów nie działa już w programie Excel 2013. Jestem prawie pewien, że działał w poprzedniej wersji.

Oto jednak obejście polegające na użyciu zmiennej tymczasowej

Sub removePrefix()
    For Each c In UsedRange
        If c.PrefixCharacter <> vbNullString Then
            temp = c.Text
            c.Clear
            c.Value = temp
        End If
    Next
End Sub
nixda
źródło
link już nie działa :(
phuclv