-2

Как получить текст вместо цифр форматированием? Предположим, формула в ячейке дает числа, и я хочу, чтобы это было в тексте, как

1 дает отлично

2 дает добро

3 дает среднее

другой номер дает плохое спасибо!

3 ответа3

3

Вам нужна функция VLOOKUP .

Создайте вторую таблицу / диапазон ячеек на своем листе Excel, у которой есть номер в одном столбце и текст, который вы хотите в следующем столбце. Затем обратитесь к этой таблице поиска в функции:

VLOOKUP(значение, таблица, index_number, [not_exact_match])

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

Смотрите эту ссылку для более подробной информации и примера:

http://www.techonthenet.com/excel/formulas/vlookup.php

1

Выберите ячейки, которые вы хотите обработать, и запустите этот небольшой макрос:

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

Значения в ячейках останутся неизменными, но в форматах отображения будут слова, которые вам нужны.

1

Этот код 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

Чтобы использовать его, вы должны открыть макрос, дважды щелкните лист на левой панели и вставьте код с правой стороны.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .