1

У меня есть некоторые переносы данных, как это:

    A
1| 2-8
2| 0-12345
3| 15-123
4| and so on 

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

3 ответа3

1

В Word я достиг чего-то похожего, используя вкладки. Например, я хотел, чтобы ряд строк был выровнен по символу умножения. Для этого я поместил язычок с выравниванием по правому краю на 2 см, язычок с выравниванием по центру на 2,25 см и язычок с выравниванием по левому краю на 2,5 см. Тогда текст в каждой строке выглядел так:

TAB "первый текст" TAB × TAB "второй текст"

Пример текста Word, выровненного по символу

0

Решение для Excel

Предполагая, что вы говорите о центрировании текста в пределах одного столбца (а не строки)

Вы можете использовать VBA, чтобы сделать 3 шага одним щелчком мыши

  1. Установите ваши ячейки на шрифт с фиксированной шириной, как Consolas
  2. Сосредоточьте свои клетки
  3. Добавьте пробелы в начало или конец вашей строки, пока дефис не будет отцентрирован
Sub CenterHyphenatedContent()
    For Each cell In UsedRange
        If InStr(cell.Value, "-") > 0 Then

            cell.Font.Name = "Consolas"
            cell.HorizontalAlignment = xlCenter

            intLenLeft = InStrRev(cell.Value, "-") - 1
            intLenRight = Len(cell) - InStr(cell.Value, "-")
            intDiff = Abs(intLenLeft - intLenRight)

            If intLenLeft > intLenRight Then cell.Value = cell.Value & Space(intDiff)
            If intLenLeft < intLenRight Then cell.Value = Space(intDiff) & cell.Value

        End If
    Next
End Sub

До после

Внимание: этот код изменяет ваши данные Excel, так как он добавляет дополнительные пробелы

0

Вы можете поместить формулы в столбцы B и C, которые разделяют значения столбца A на левую и правую стороны дефиса. Например, используя ваш пример, используйте left() чтобы поместить "2" в B1, и right() чтобы поместить «-32» в C1. Затем выровняйте по правому краю столбец B, по левому краю столбец C и скройте столбец A.

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