Заменить или перекодировать несколько разных значений одним значением в файле Excel - PullRequest
0 голосов
/ 08 апреля 2010

У меня есть лист Excel, который содержит данные в нескольких столбцах.Для определенного столбца мне потребуется Excel, чтобы заменить все значения, скажем, от 10 до 15, на значение 1, а значения от 16 до 20 - на значение 2 и т. Д.для одного значения;т.е. я могу заменить значение 10 на 1, 11 на 1 и так далее.Но это будет утомительное занятие.Есть ли строки кодов, которые могут выполнить эту задачу?

Спасибо за вашу помощь.

С уважением, Али

Ответы [ 2 ]

1 голос
/ 10 апреля 2010

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

  1. Вставьте новый столбец справа от столбца, чтобы изменить его. Допустим, столбец был A, и вы только что создали новый столбец B.
  2. Введите формулу =INT(A1/5) - 1 в ячейку B1.
  3. Скопируйте эту формулу во все ячейки столбца B для размера ячеек в столбце A.
  4. Скопируйте ячейки в столбце B и вставьте в столбец A, щелкнув правой кнопкой мыши «Paste special ...», «Значения», затем нажмите «Ok».
  5. Удалить столбец B (это временный / рабочий столбец).

Это заменит значения в столбце A на скорректированные значения в столбце B. Перейдите к любым другим столбцам.

1 голос
/ 08 апреля 2010

Вот быстрый и грязный способ, который нужно будет изменить в зависимости от того, какие значения вы действительно хотите изменить.Это преобразует 11 в 15 в 1, и в 16 в 20 в 2 и т. Д.

Возможно, вы захотите поместить кнопку в таблицу, а затем щелкните правой кнопкой мыши и выберите «Просмотреть код».Затем введите следующее между оператором Sub и End Sub.«RangetoChange» - это имя именованного диапазона, ИЛИ вы можете указать сам диапазон, например «A1: A100».Как только все введено, вы просто выходите из режима дизайна (который вы ввели, чтобы разместить кнопку), затем нажимаете кнопку.Убедитесь, что вы изменили формулу на то, что вы действительно хотите, чтобы результат был.

Dim A() As Variant
Dim i As Integer

A = Range("RangetoChange")
For i = 1 To (UBound(A) - LBound(A) + 1)
    A(i, 1) = (A(i, 1) \ 5) - 1
Next i
Range("RangetoChange") = A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...