Как исправить Excel и предотвратить его преобразование вставленных копией или импортированных строк в даты, даже когда ячейки отформатированы как текст

1006
Turkeyphant

Каждый раз, когда я копирую и вставляю некоторые числовые данные, записанные в виде дробей или разделенных черточками, в Excel, он всегда преобразует числа, которые могут быть датами, в даты. Нет способа вернуть их к исходному форматированию (как скопировано). Даже если вы перейдете к тексту и вернетесь к номеру, вы получите номер даты!

Даже сохранение в CSV и импорт не исправят это!

Я искал решение этой проблемы в течение нескольких лет, и я по-прежнему такой же отчаянный, как и всегда.

пример

Что-то вроде 5-6или 5/2превращается в дату или значение даты, и нет никакого способа восстановить исходное содержимое строки или сказать Excel, что вы хотите рассматривать его как текст, а не как дату.

Это не просто копирование. Отправка данных напрямую из приложений через интеграцию или через CSV тоже не работает. Он отменяет вас при импорте и изменяет содержимое на значения даты.

"Вы дебил с нулевой репутацией, это решено!"

Прежде чем вы говорите, это уже спрашивали. давайте посмотрим на главные вопросы, задающие то же самое, и опубликованные «решения»:

1. Остановить Excel преобразует скопированные числа / текстовые значения в дату

Данные - Импорт внешних данных - Новый веб-запрос и следуйте указаниям мастера

Не работает . И в любом случае это не будет решением, так как это не копирование из различных источников, а также невероятно медленное.

Вставьте данные в электронную таблицу как есть. Выберите все и отформатируйте как текст Вставьте снова поверх того, что вы делали в первый раз, но на этот раз как значения.

21 голосов! В самом деле?! Тривиально не работает с любыми данными в соответствии с моим примером. Кроме того, занимает много лет.

  1. Скопируйте оригинальные данные
  2. Вставить в Блокнот (Предпочитать Блокнот ++)
  3. Измените свойства ячейки на TEXT
  4. Скопируйте все из блокнота
  5. Вставить обратно в Excel.

13 голосов. Очень медленный и обходительный обходной путь. Все равно не работает .

2. Как остановить преобразование чисел в формат даты при копировании и вставке в Excel?

Выберите пустые поля (или весь столбец), установите для них строковый формат вместо значения по умолчанию и выполните специальную вставку (доступную по щелчку правой кнопкой мыши) с «только значениями», чтобы предотвратить автоматическое применение формата даты ...

Я использую Paste Special и Paste Values ​​все время. При вставке копии из опции нет значения, например, HTML-таблица. Не работает .

Перед вставкой выберите столбец, в котором будет храниться значение без даты. Щелкните правой кнопкой мыши. Выберите «форматировать ячейки». Затем выберите «текст» в качестве формата и нажмите «ОК».

Теперь вставьте, но вставьте, используя опцию «соответствовать формату назначения».

Не работает . Нет опции «соответствовать формату назначения».

Существует несколько способов решения этой проблемы, наиболее распространенным и простым из которых является форматирование ячеек перед вставкой данных в виде текста (выберите диапазон, щелкните правой кнопкой мыши, отформатируйте ячейки, дважды щелкните текст).

Это снова! Не работает .

Я просто изменил десятичный разделитель:

Не вариант. «-» и «/» не являются десятичными разделителями. Не работает .

попробуйте добавить это число (') в вашем номере в исходных данных, а затем вставьте его в excel вместо replace (') с той же ('), потому что, когда вы добавите это число, оно будет отображаться в ваших данных в Excel, но при его замене будет скрыт

-1 голос за причину. Не работает .

3. Как предотвратить преобразование чисел в даты в Excel?

Для этой задачи я использую Notepad ++: скопируйте свои данные в notepad ++ вместо «.» с "," и скопируйте его в Excel.

Медленный обходной путь и не помогает, так как мне нужны данные, чтобы оставаться как есть. Не работает .

Сначала отметьте ячейки, которые вы собираетесь вставить. Щелкните правой кнопкой мыши «Формат» и выберите «Число».

Теперь щелкните правой кнопкой мыши, чтобы вставить, и выберите «Match Destination Formatting»

...действительно? ДЕЙСТВИТЕЛЬНО?!

Да, иногда это настоящая боль - мое быстрое решение - использовать ячейки, отформатированные как текст.

Вот как это работает:

скопируйте свои номера с. выберите столбец или некоторые ячейки измените формат ячейки на текст, теперь вставьте специальный (или вставьте содержимое), так как теперь неформатированный / обычный текст заменяет. с помощью, теперь измените формат обратно на число или значение по умолчанию. Конечно, вы можете поместить это в некоторый макрос.

Тем не менее, я думаю, что может быть - или, по крайней мере, должно быть - лучшее решение.

Но, как быстрый, это тоже работает;)

Не быстро И угадай что? Не работает .

Ответы на этот вопрос

После публикации этого вопроса я получил следующий ответ от постера из 16 тысяч представителей:

Пожалуйста, перестаньте жаловаться на то, что ДОЛЖНА делать ваша версия Excel. Excel 2007 почти 15 лет, учитывая, что потребовалось 3 года, чтобы спланировать его функции, разработать и протестировать их в старых трехлетних циклах выпуска. Если вы жалуетесь на это, вы также можете жаловаться на то, что ваш телефон не может принимать текстовые сообщения. Как уже упоминали другие, современные версии Excel могут делать то, что вы хотите достичь с меньшими хлопотами, чем вы должны страдать. Итак, как насчет обновления?

Если есть такая плохая ошибка, я не вижу проблемы с вопросом об этом. Если нет решения, хорошо, но это не значит, что я не подумал о том, что он не работает так, как задумано.

Во всяком случае, я сделал обновление в соответствии с просьбой (до Excel 2011) и попробовал все предложенные ответы в этой теме. Все еще нет игры в кости. Не работает . Я не знаю, может ли этот плакат предложить комбинацию ОС и версии Excel, которая, как было показано, работает правильно?

Что говорит Microsoft?

Он просто повторяет известные (но совершенно бесполезные) приемы добавления апострофа или 0 для продолжения форматирования или использования дробного форматирования. Предварительное форматирование ячеек как текста может работать для ручного ввода данных, но не при копировании.

Мольба

Я умоляю тебя. Пожалуйста, скажите мне, что есть способ поместить мои данные в электронную таблицу, не меняя их!

Даже когда Excel угадывает формат данных и навязывает его вам, не спрашивая (почему нет опции вставки как [format], которую я не понимаю), при вставке текста или значений при копировании правильно сохраняется структура таблицы для каждой другой мыслимой текстовой строки, кроме из чисел, разделенных символами, такими как "/" и "-".

Прописи вставки строки в других форматах, таких как 10%, $50.63, 4.25E+11приводит к автоматическому форматированию, но без потери в 2-D структуры данных и не изменяет саму значения / текст. Только с датами Excel фактически уничтожает содержимое данных, превращая текстовые строки в значения даты. Моя $50.63ячейка C7 остается $50.63в ячейке C7, но 7/8изменяется на 43319, 5-4в 43195и 6.4в 43196. Это односторонняя функция - нет никакого способа отменить преобразование, контекст и контент навсегда утеряны, потому что Excel переоценивает вас и, похоже, не дает возможности сказать, что вы знаете, что делаете, несмотря на все одобренные "решения" на этом сайте.

-

редактировать: не дублировать, как я уже рассмотрел в вопросе под заголовком 2!

1
Пожалуйста, расскажите, какую версию Excel вы используете, и опубликуйте образец данных для некоторого тестирования. Что вы копируете ОТ? Паутина? Текстовый файл? Что-то еще, где форматирование имеет значение? Пожалуйста, предоставьте эти детали. teylyn 5 лет назад 0
Это Excel 2007 для Windows 7, но я пробовал несколько версий в течение года, но без радости. Примеры HTML: [ссылка] (http://jsfiddle.net/x1d02nmg/), [ссылка] (http://jsfiddle.net/8a0rx1pn/). Результаты: [ссылка] (https://imgur.com/a/Ht9IwsV). Я копирую из Интернета текстовые документы, таблицы, выводимые с помощью программного обеспечения OCR. Даже с программным обеспечением, которое связывается непосредственно с Excel, оно изменит формат от того, как это было скопировано и как это выглядит, и как ячейки отформатированы до дат, теряющих значение и ценность данных. Содержание имеет значение; изменение даты уничтожает его. Turkeyphant 5 лет назад 0
В моем Excel 2013, если я сначала установил формат диапазона ячеек на листе как «Текст», а затем вставил в него специальный текст (скопированный, скажем, из Wordpad или блокнота), то 9/5 сохраняется как 9/5 вместо преобразования на свидание. pat2015 5 лет назад 1
Я знаю, что вы заявили выше, что форматирование как текста сначала не работает, но я просто попробовал это, и это сработало для меня. Это правда, что я не получил все параметры вставки, но я получил «Форматирование соответствия цели», которое сработало. Предостережение об этом: я использовал Word для создания таблицы веб-страниц, сохранил ее как HTML, а затем открыл с помощью IE. Также я пользуюсь Office 2016. Rey Juna 5 лет назад 0
@ pat2015 - как вам удается копировать в блокнот, а затем в Excel, не теряя форматирование данных в отдельные ячейки? Когда я пытаюсь это сделать, он возвращается как одна ячейка. Turkeyphant 5 лет назад 0
@ReyJuna - вы можете попробовать с набором данных, который я предоставил? Turkeyphant 5 лет назад 0
Ваши ссылки на примеры HTML заблокированы для меня. Тем не менее, я использовал данные из вашего изображения. Rey Juna 5 лет назад 0
@ReyJuna - А? JSfiddle заблокирован ?! Вот HTML-код: [ссылка] (https://pastebin.com/a4rZKDWK). Когда вы попробовали, можете ли вы скопировать и вставить приведенный выше пример в Excel без преобразования в даты? Мне нужен надежный и повторяемый метод, позволяющий мне знать, что я могу копировать и вставлять данные из любого источника, и знать, что содержимое останется неизменным Excel. Turkeyphant 5 лет назад 0
Извините, это также заблокировано. (ЭТО не нравится!) Rey Juna 5 лет назад 0
[Вот видео о том, как я пробовал оба закомментированных предложения] (https://www.dropbox.com/s/4y47ephcvsp1503/excel.mp4?dl=0) Хотя кажется, что форматирование в виде текста, а затем копирование с помощью обычного текста с помощью Блокнота или подобное предотвращает преобразование Excel в даты, не сохраняет данные нетронутыми, так как уничтожает всю информацию об организации таблицы и расположении строк. (редактировать: я не знаю, где я могу разместить кроме стандартных сайтов, таких как jsfiddle и pastebin). Turkeyphant 5 лет назад 0
По крайней мере, в Excel 2016, если я скопирую таблицу из вашей ссылки "JSFiddle"; отформатируйте ячейки назначения в Excel как «Текст», а затем выберите параметр «Вставить», появится «Соответствие формату назначения» и позволит вставить таблицу так, как она выглядит в исходной таблице. Нет необходимости в блокноте. * У меня нет Excel 2007 для тестирования * Ron Rosenfeld 5 лет назад 1
Возможный дубликат [Прекратить Excel преобразует вставленные в копию числовые / текстовые значения в дату] (https://superuser.com/questions/509963/stop-excel-from-converting-copy-pasted-number-text-values-to -Дата) Excellll 5 лет назад 0
Рабочий ответ здесь: https://superuser.com/a/827817/76571 Я попробовал с вашими примерами данных, и это работает. Голосование, чтобы закрыть как дубликат соответственно. Excellll 5 лет назад 0
@Excellll - ты вообще читал вопрос ?! Я покрыл это. Это * не работает * даже после обновления Excel. Смотрите мое видео несколько комментариев выше. Turkeyphant 5 лет назад 0

3 ответа на вопрос

1
ProfoundlyOblivious

Вот три способа, которые отвечают требованиям, и четвертый, который более ситуативный. Да, 2 из них вы сказали не работать по OP. Они работают для меня в Office 365 Pro Plus, поэтому они будут работать для многих других, ваш пробег может варьироваться в зависимости от версии Excel:

Метод 1 - Копирование и вставка

  1. Отформатируйте целевой диапазон как Text
  2. Copy данные HTML
  3. Paste с помощью Match Destination

Способ 2 - получить данные из Интернета

  1. Нажмите «Получить данные» на вкладке «Данные» ленты.
  2. Наведите курсор на «Из других источников», чтобы развернуть раскрывающееся меню.
  3. Выберите «Из Интернета» и введите URL / местоположение файла
  4. Выберите исходную таблицу из списка в левой части редактора запросов.
  5. Нажмите «Изменить» в правом нижнем углу
  6. Измените тип данных каждого столбца на Textв группе «Преобразование» на вкладке «Главная» на ленте.
  7. Нажмите «Закрыть и загрузить», таблица будет создана на пустом листе

Метод 3 - VBA

  1. Вставьте код снизу в модуль
  2. Измените PathOrURL на местоположение вашего файла или URL
  3. Запустите процедуру

Я написал это с предположением, что ваш источник данных является первой или, возможно, единственной таблицей в файле HTML. Он преобразует исходные значения таблицы в строки и записывает строку на лист без использования копирования или вставки. Форматы ячеек не нужно менять.

Требуются MS Internet Controls и ссылки на библиотеку объектов MS HTML.

Option Explicit Sub GetTextFromHTML() Dim PathOrURL as String: PathOrURL = Environ("USERPROFILE") & "\Desktop\a4rZKDWK.html" Dim IE As New InternetExplorerMedium Dim x As Long, y As Long Dim tbl As HTMLTable Dim sVals() As String IE.Navigate PathOrURL Do While IE.ReadyState <> READYSTATE_COMPLETE DoEvents Loop Set tbl = IE.Document.getElementsByTagName("table")(0) With tbl ReDim sVals(1 To .Rows.Length, 1 To .Rows(1).Cells.Length) For y = 1 To .Rows.Length For x = 1 To .Rows(1).Cells.Length sVals(y, x) = CStr(tbl.Rows(y - 1).Cells(x - 1).innerText) Next Next End With IE.Quit ActiveSheet.Cells(1, 1).Resize(UBound(sVals), UBound(sVals, 2)).Value = sVals End Sub 

Метод 4 - Переходный вход (ситуационный)

  1. Нажмите «Файл» на ленте
  2. Выберите «Опции»
  3. Выберите «Дополнительно»
  4. Прокрутите весь путь до самого дна
  5. Установите флажок для «переходной записи»
  6. Копировать данные HTML
  7. Вставить в лист Excel

Можно привести пример использования «записи перехода», поскольку он решает проблему даты, позволяя копировать и вставлять дроби в виде дробей - ОДНАКО - он не удовлетворяет требованиям OP, поскольку он также упрощает любую приводимую дробь; копирование 6/9 вставит 2/3. Несводимые фракции хороши и не модифицируются. Неправильные дроби также поддерживаются.

Я подозреваю, что Excel преобразует исходные данные из дробных в десятичные, а затем обратно в дробные, потому что упрощенные дроби являются логическим результатом десятичного преобразования. Если вы решите начать с 2/4, 3/6, 12/24, все они преобразуются в 0,5 десятичного числа. Мы теряем всю информацию об их уникальности, как только они это делают. Вы можете дифференцировать 2/4 от 3/6, но вы не можете сделать это с 0,5 и 0,5. Переходя от десятичной дроби к дробной, существует буквально бесконечное число дробей, равное 0,5, и мы можем использовать любую из них. Мы не знаем, с чего начали, потому что все было потеряно при переходе на 0,5, шансы точно угадать, когда у вас есть бесконечное количество вариантов выбора, довольно малы, поэтому лучший результат будет полностью уменьшен и упрощен, и есть только один из те ... 1/2

К сожалению, пользовательский формат, который я рекомендовал на прошлой неделе, "# / #", страдает от той же проблемы, что и "запись перехода". Он переносит все дроби, но упрощает каждую вставляемую дробную дробь.

Благодарю. Я попробую это, когда в следующий раз у меня будет доступ к компьютеру через неделю. Если бы вы могли записать видео 30-х годов с проверкой его работоспособности, это было бы здорово. Другие решения предлагали "форматирование по месту назначения", но из моего видео видно, что при попытке выбора такой опции не существует. Turkeyphant 5 лет назад 0
Конечно. Я обновлю свой ответ скриншотами, рецензией и добавлю видео. Я подозреваю, что видео будет иметь ограниченную ценность, но скриншоты помогут всем, кто не знает, как установить собственный формат чисел. Я уверен, что смогу решить эту проблему с помощью VBA, но это требует от меня гораздо больше работы, поэтому я хочу убедиться, что стандартный Excel не работает, прежде чем погрузиться в глубокий конец. ProfoundlyOblivious 5 лет назад 0
Только что попробовал, и он не работает на оригинальной пасте. При повторном применении форматирования [все, что я получаю, это знаменатель 1 ниже значения даты] (https://imgur.com/a/PQMs0x7). Это касается обоих типов входных данных в Excel. Turkeyphant 5 лет назад 0
Извините, у меня не было возможности закончить запись, я пробежался через несколько репетиций с видео, а потом у меня был момент, когда мне пришлось столкнуться лицом к лицу. Мое решение работает для каждого сценария в ваших тестовых данных, кроме одного, и я не заметил до тех пор. Это было сокращение фракций, 3/6 будет вставлен как 1/2. Фракции, которые уже были сокращены, и неправильные фракции вставлялись точно. Оказывается, Excel преобразует его в десятичное и числовой формат возвращается к вашему формату. Очевидно, что это не то решение, которое вам нужно, потому что вы хотите сохранить исходную дробь. Я еще не сдаюсь !! ProfoundlyOblivious 5 лет назад 0
Я не видел, чтобы знаменатель равнялся 1. Я подозреваю, что это результат разных версий Excel, но это всего лишь выстрел в темноте. ProfoundlyOblivious 5 лет назад 0
Спасибо, что вернулся ко мне. Проблема в том, что обе версии Excel, которые я пробовал, перезаписывают форматирование при вставке. Затем, когда вы конвертируете в `# / #` или любой другой формат «Числа», он интерпретирует текст как даты, преобразует в значение даты (например, `22 / 8` ->` 43334`) и затем преобразует в уменьшенную дробь, которая требуется знаменатель 1. Суть проблемы заключается в том, что Excel не примет этот текст, как будто он никогда не предназначался для даты. Turkeyphant 5 лет назад 0
@turkeyphant Я могу повторить поведение, где все знаменатели установлены в 1. Это происходит при изменении формата чисел после вставки таблицы. сначала должен быть задан формат, затем вставленная таблица, и, очевидно, с адресом совпадения. Excel 2010 позволяет совпадать с назначением при копировании HTML-файла, не уверен насчет вашей версии, но вам, вероятно, следует дважды проверить, чтобы убедиться, что вы не пропускаете его. В любом случае VBA, которую я написал, должна работать на вас. ProfoundlyOblivious 5 лет назад 0
Спасибо, что нашли время, чтобы обновить свой подробный ответ. К сожалению, я не работаю ни с какой версией Excel, к которой у меня есть доступ (и да, я уверен, что не пропускаю эту опцию - посмотрите мое видео). К сожалению, 2 и 3 не подходят, потому что они берутся на века, и в любом случае, часто я получаю данные из программ или других источников, на самом деле редко в Интернете и еще реже на сайтах с предсказуемым не динамическим HTML. Turkeyphant 5 лет назад 0
На моей ленте нет «Файл», но я могу перейти в «Параметры Excel»> «Дополнительно», и у меня есть флажок «Ввод формулы перехода» (мне не ясно, какие это имеет побочные эффекты). Это * почти * работает. Когда я копирую и вставляю дроби (даже с предварительной настройкой формата), я получаю десятичные числа правильных чисел вместо дат или значений дат. Затем я могу изменить формат на `# / #` и получу дроби, хотя они уменьшены, как вы упомянули. К сожалению, он не работает с форматом `xy`, который мне также нужен, так как Excel интерпретирует это как суммы, так что` 5-2` становится `3` и` 2-6` становится `-4`. Turkeyphant 5 лет назад 0
Я нашел решение, которое работает для меня на всех версиях Excel, всех форматах данных и всех источниках данных. Это также самый быстрый и самый эффективный, который я нашел. Мне также нравятся ваши другие ответы, даже если они не решают проблему для меня - вы бы предпочли, чтобы я ответил на свой вопрос или изменил ваш ответ, включив мой новый метод? Turkeyphant 5 лет назад 0
Ответы на вопросы разрешены. ProfoundlyOblivious 5 лет назад 1
Я должен признать, что я не тестировал 5-4 ни в одном сценарии, потому что я использовал предоставленный вами HTML, который включал только дроби. Мой макрос должен работать с ними, но сейчас он кажется неактуальным. ProfoundlyOblivious 5 лет назад 1
Извините, я привел два примера HTML - один использовал `/`, а другой `-`. Я не знаком с протоколом здесь. Поскольку два ваших решения, очевидно, работают для других пользователей, лучше отредактировать ваш вопрос или добавить их в мое собственное другое решение? Turkeyphant 5 лет назад 0
Если ваше решение является лучшим решением для вопроса, то вы должны опубликовать его. Поскольку вы задали вопрос, у вас гораздо лучшее чувство лучшего решения, чем у всех нас. Кроме того, подумайте, если я отредактирую свой пост и сделаю ошибку. Или не можете удовлетворительно объяснить критический аспект? Если вам нравится мой ответ, проголосуйте, но опубликуйте свой ProfoundlyOblivious 5 лет назад 1
Спасибо, я буду голосовать, как только у меня будет достаточно репутации. Ценю твою помощь. Turkeyphant 5 лет назад 0
0
teylyn

Ну, мне нужно перефразировать свой вопрос. Это больше похоже на то, "как я могу съесть свой пирог и все еще иметь его?"

Как работает Excel, он будет пытаться найти смысл в данных и применить форматирование по умолчанию. Это относится к тексту, который выглядит как даты, текст, который выглядит как числа, HTML-теги, которые подразумевают, что что-то находится в ячейке таблицы, и тому подобное.

Если форматирование игнорируется, например, путем вставки текста (или вставки специальных значений), тогда ВСЕ форматирование игнорируется. Текст, который выглядит как даты, не будет преобразован в даты. Но структуры таблиц тоже не выживут.

Однако, если вы хотите сохранить структуру таблицы, вам нужно позволить Excel интерпретировать вставленный контент и применить форматы, которые он распознает. К сожалению, это означает, что эти тексты будут преобразованы в даты.

Как бы вы ни были разочарованы, на данный момент нет готового решения для этого. То, что вы просите, в настоящее время не может быть сделано. (Это правильный ответ на ваш вопрос).

Вы можете разместить предложение на http://excel.uservoice.com, где люди могут проголосовать за него. Чем больше голосов за предложение, тем больше вероятность того, что оно будет реализовано.

Вы также можете рассмотреть альтернативы для копирования и вставки. Возможно, вы могли бы использовать Power Query для запроса источника данных и формирования данных, чтобы сохранить текст как есть.

_Если форматирование игнорируется, например, путем вставки текста (или вставки специальных значений), тогда ВСЕ форматирование игнорируется. Текст, который выглядит как даты, не будет преобразован в даты. Но структуры таблиц тоже не выживут. Это соломенный человек. Смысл заключается в вставке текста, или значения сохраняют структуру таблицы для ** любой другой мыслимой текстовой строки ** _apart from_ чисел, разделенных такими символами, как "/" и "-". Более того, настройка типов данных ячеек не перезаписывается для любого другого типа данных, о котором я знаю, кроме дат (особенно удивительно, как часто встречаются данные без даты), подобные этой. Turkeyphant 5 лет назад 0
Давайте рассмотрим другие форматы данных, поддерживаемые Excel, такие как процент, валюта, учет, значение даты, научные. Строки копирования при копировании, такие как `10%` `$ 50.63`` 4.25E + 11`, приводят к автоматическому форматированию (опять же, должен быть простой переключатель, чтобы отключить это), но преобразование в текст точно соответствует тому, что написано на жестяной коробке. Только ** ** ** форматы, о которых я знаю, где преобразование в текст не преобразуется в буквальную строку, - это такие числа, которые _sometimes_ являются датами. Вместо этого Excel ** уничтожает ** содержимое данных, превращая «7/8» в 43319, «5-4» в 43195, «6,4» в 43196 и так далее. Turkeyphant 5 лет назад 0
Power Query не существует для моей версии Excel и в любом случае бесполезно быстро и легко получать данные из любых источников, которые я использую, включая сложные динамические сайты, программное обеспечение, файлы и т. Д. Turkeyphant 5 лет назад 0
Почему вы продолжаете жаловаться в комментариях? Они не проясняют ваш вопрос и не помогают его решить. Я понимаю, что вы не довольны ответом, однако нам не нужно менять Excel. Máté Juhász 5 лет назад 1
@ Turkephant Пожалуйста, перестаньте жаловаться на то, что ДОЛЖНА делать ваша версия Excel. Excel 2007 почти 15 лет, учитывая, что потребовалось 3 года, чтобы спланировать его функции, разработать и протестировать их в старых трехлетних циклах выпуска. Если вы жалуетесь на это, вы также можете жаловаться на то, что ваш телефон не может принимать текстовые сообщения. Как уже упоминали другие, современные версии Excel могут делать то, что вы хотите достичь с меньшими хлопотами, чем вы должны страдать. Итак, как насчет обновления? teylyn 5 лет назад 1
@teylyn - ни в коем случае вы не предполагали, что результаты отличаются от любой другой версии. Я не жалуюсь, я комментирую ваш «ответ», чтобы исправить ложные утверждения о том, как Excel обрабатывает форматирование данных. Просто неправильно говорить, что при вставке значений или в виде простого текста удаляются структуры таблиц, а все остальные типы данных сохраняются, не игнорируя при этом целевое форматирование. Вы, вероятно, правы, что Excel не может справиться с этим, но вы совершенно не правы в своих рассуждениях, поэтому я исправил вас. Turkeyphant 5 лет назад 0
@ Мате, они разъясняют вопрос, поэтому я позже отредактировал его, чтобы включить пояснения. Turkeyphant 5 лет назад 0
Также нечестно и совершенно ошибочно предполагать, что я прошу что-то необоснованное, например, съесть свой пирог и съесть его. В этом вопросе я предлагаю простой метод, который бы полностью избежал этой проблемы и не вызывал проблем для тех, кто любит автоматическое форматирование, и демонстрирует, что это отличается от всех других форматов данных, которые рассматриваются как ожидаемые и предполагаемые. Turkeyphant 5 лет назад 1
@turkeyphant Вы пытались создать тот же собственный формат чисел, который я предложил? Я не вижу, чтобы это было предложено где-либо еще в этой теме, и не вижу в этом метода, который вы пробовали. Мой ответ предполагает совпадение с пунктом назначения, и я знаю, что вы сказали, что у вас нет этой опции, но в нескольких источниках утверждается, что это поведение по умолчанию в '07 - я не могу проверить, потому что у меня нет вашей версии Excel, а у меня нет памяти иди так далеко назад. Если при вставке пользовательский формат удаляется (но не должен), то повторное применение пользовательского формата к ячейке почти наверняка будет отображаться правильно. Буду признателен за отзыв. ProfoundlyOblivious 5 лет назад 0
@ProfoundlyOblivious - как я уже говорил, не был рядом с компьютером до сих пор. Только что попробовал, и он не работает на оригинальной пасте. Обновлю ваш ответ с деталями. Turkeyphant 5 лет назад 0
@teylyn - только что обновил Excel и все еще не работает (см. редактирование на вопрос). Можете ли вы подтвердить версию Excel, в которой вы сделали эту работу, как задумано? Turkeyphant 5 лет назад 0
@turkeyphant Дома я использую Office 365 Pro Plus, по иронии судьбы, в офисе я использую Excel 2010. Оба работают, если вставить место назначения в диапазон, который ранее был отформатирован как текст. То же самое относится и к моему решению с использованием нестандартного числового формата - с оговоркой, упомянутой в моем редактировании. Важно отметить, что ввод 3/5 вручную в неправильно отформатированную ячейку (например, общую) дает те же самые результаты, что и вставка в нее - они оба будут преобразованы в дату. ProfoundlyOblivious 5 лет назад 0
@ProfoundlyOblivious - странно, что Excel 2011, который предположительно новее, все еще не предлагает эту опцию вообще. А также, что все эти «старые» версии Excel позволяют вам вводить текстовый формат вручную с помощью префикса с апострофом, но не предлагают решения для вставки в виде текстового формата для строк, подобных этой ... Turkeyphant 5 лет назад 0
Excel 2011 предназначен для Mac. Эта версия Excel для Mac на годы отстает от версии Excel для Windows того времени. teylyn 5 лет назад 0
@turkeyphant попробуй метод № 3 в моем обновленном ответе ProfoundlyOblivious 5 лет назад 0
@teylyn - в чем твоя точка зрения? (И как пользователи должны знать о вашей претензии?) Опять же, я все еще жду, когда вы подтвердите версию Excel, в которой вы сделали эту работу, как предполагалось? Turkeyphant 5 лет назад 0
Я хочу сказать, что Excel 2011 не «новее», чем Excel 2010. На самом деле он старше. Я отказываюсь быть втянутым в твою червоточину. teylyn 5 лет назад 0
Правильно. Считайте меня информированным (извините, если это не было очевидно). Опять же, действительно ли возможно делать то, что вы утверждаете в любой версии Excel? Если вы предлагаете ответ, укажите версию, в которой эта ошибка исправлена. Turkeyphant 5 лет назад 0
0
Turkeyphant

Поэтому после большого количества исследований и некоторых очень полезных материалов от @ProfoundlyOblivious я разработал наилучший из возможных методов, который, похоже, работает. Он далек от совершенства, но на самом деле он работает из всех источников данных, которые я пробовал, не включает запутанных шагов и, что наиболее важно, является эффективным по времени и надежным.

Такие предложения, как «Получить данные из Интернета» или сценарии VBA, просто невозможно использовать, когда вам нужно взять данные из различных непредсказуемых источников и перенести их в формат Excel или CSV.

Кроме того, я снова и снова проверял в различных версиях Excel, что люди, утверждающие, что они работают через Блокнот, работают или что предварительное и / или постформатное форматирование ячеек не работает . К сожалению, нет и никаких пользовательских числовых / текстовых форматов. Понятно, что данные в этом формате явно отличаются от других форматов данных, когда обрабатываются этими версиями Excel.

Что работает

Скопируйте / вставьте в электронную таблицу Документов Google, а затем просто сохраните как * .xlsx или * .csv.

Это действительно было так просто. Возможно, не правильный ответ на то, как исправить Excel, но , безусловно, лучший обходной путь, который я нашел. Быстрый, легкий, надежный и делает все, что мне нужно сделать.

Похожие вопросы