Задать вопрос
@bratok191

Как сделать текст жирным при конкатенации строк?

У меня есть в гугл таблице 3 столбца.
Я хочу объединить данные из 2 первых столбцов в третий столбец.
Но нужно чтобы с первой ячейки текст стал ЖИРНЫМ в итоговой таблице.

Как это можно сделать?
Скриншот (1 строка - это формула которую использую, вторая строка - это то что получается в итоге, а 3 строка - это пример как хотелось бы сделать)...
66bd2712272c9524988028.png
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Вы не можете этого сделать, если объединение строк будет через формулу. Тут накладывается ограничение - объединять только через скрипт.

Вот рабочий код на Google Apps Script

/* exported combineCells */
/**
 * Combines strings from two cells in a row into a single cell.
 * The combined string is bolded if the first cell is not empty.
 */
function combineCells() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = spreadsheet.getSheetByName('Соединение строк построчно');
  const dataRange = sheet.getDataRange();
  const values = dataRange.getValues();

  const newValues = values.map((row) => {
    const cellA = row[0];
    const cellB = row[1];

    let formattedText = null;
    if (String(cellA).length > 0) {
      formattedText = SpreadsheetApp.newRichTextValue()
        .setText(String(cellA) + ' ' + String(cellB))
        .setTextStyle(0, String(cellA).length, SpreadsheetApp.newTextStyle().setBold(true).build());
    } else {
      formattedText = SpreadsheetApp.newRichTextValue().setText(String(cellB));
    }

    return [formattedText?.build()];
  });

  const targetRange = dataRange.offset(0, 2, dataRange.getNumRows(), 1);
  targetRange.setRichTextValues(newValues);
}


Пример в Таблице https://docs.google.com/spreadsheets/d/1qdh4mQLiEL...
Как запускать Скрипты https://googlesheets.ru/script-editor-guide/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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