Как получить текст вместо цифр форматированием? Предположим, формула в ячейке дает числа, и я хочу, чтобы это было в тексте, как
1 дает отлично
2 дает добро
3 дает среднее
другой номер дает плохое спасибо!
Как получить текст вместо цифр форматированием? Предположим, формула в ячейке дает числа, и я хочу, чтобы это было в тексте, как
1 дает отлично
2 дает добро
3 дает среднее
другой номер дает плохое спасибо!
Вам нужна функция VLOOKUP
.
Создайте вторую таблицу / диапазон ячеек на своем листе Excel, у которой есть номер в одном столбце и текст, который вы хотите в следующем столбце. Затем обратитесь к этой таблице поиска в функции:
VLOOKUP(значение, таблица, index_number, [not_exact_match])
значение - это значение, которое вы хотите перевести в текст, поэтому вам нужно сослаться на ячейку с номером. Вы можете скрыть этот столбец, если хотите.
Смотрите эту ссылку для более подробной информации и примера:
Выберите ячейки, которые вы хотите обработать, и запустите этот небольшой макрос:
Sub FakeFormat2()
Dim DQ As String, mesage As String
Dim r As Range
DQ = Chr(34)
For Each r In Selection
v = r.Value
mesage = DQ & "Bad" & DQ
If v = 1 Then mesage = DQ & "Excellent" & DQ
If v = 2 Then mesage = DQ & "Good" & DQ
If v = 3 Then mesage = DQ & "Average" & DQ
r.NumberFormat = mesage & ";" & mesage & ";" & mesage & ";"
Next r
End Sub
Значения в ячейках останутся неизменными, но в форматах отображения будут слова, которые вам нужны.
Этот код VBA заменяет номер для текста и сохраняет исходный номер в комментариях к ячейке:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wks As Worksheet
Set wks = ActiveSheet
targetcolumn = Target.Column
If targetcolumn = 1 Then
numericvalue = Target.Value
Select Case numericvalue
Case 1
stringvalue = "Excellent"
Target.ClearComments
Target.AddComment Str(numericvalue)
Target = stringvalue
Case 2
stringvalue = "Good"
Target = stringvalue
Target.ClearComments
Target.AddComment Str(numericvalue)
Case 3
stringvalue = "Average"
Target = stringvalue
Target.ClearComments
Target.AddComment Str(numericvalue)
Case "Excellent", "Good", "Average", "Bad"
fictionvalue = 1
Case Else
stringvalue = "Bad"
Target = stringvalue
Target.ClearComments
Target.AddComment Str(numericvalue)
End Select
End If
End Sub
Предполагается, что проверяемый столбец - это column A
Чтобы использовать его, вы должны открыть макрос, дважды щелкните лист на левой панели и вставьте код с правой стороны.