Объединенные ячейки в Google Таблицах могут быть удобным вариантом форматирования, если вы хотите объединить несколько ячеек в одну ячейку большего размера. Однако когда дело доходит до программного получения значений из объединенных ячеек, это может оказаться немного сложной задачей. В этой статье мы рассмотрим пять различных методов с примерами кода о том, как извлечь значения из объединенных ячеек в Google Sheets. Давайте погрузимся!
Метод 1: использование метода getValue()
function getMergedCellValue(sheetName, range) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var cell = sheet.getRange(range);
var value = cell.getMergedRanges()[0].getValue();
return value;
}
Объяснение: Этот метод использует метод getMergedRanges()
для получения объединенного диапазона, а затем применяет метод getValue()
для получения значения объединенной ячейки.
Метод 2: временное разделение ячеек
function getMergedCellValue(sheetName, range) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var cell = sheet.getRange(range);
var isMerged = cell.isPartOfMerge();
if (isMerged) {
sheet.unmergeCells(cell);
var value = cell.getValue();
sheet.mergeCells(cell);
return value;
} else {
return cell.getValue();
}
}
Объяснение: Этот метод временно разделяет ячейку, извлекает значение, а затем снова объединяет ячейку, чтобы сохранить исходное форматирование.
Метод 3: использование метода getDisplayValue()
function getMergedCellDisplayValue(sheetName, range) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
var cell = sheet.getRange(range);
var displayValue = cell.getMergedRanges()[0].getDisplayValue();
return displayValue;
}
Объяснение: Этот метод использует метод getDisplayValue()
для получения отображаемого значения объединенной ячейки, включая любое форматирование или формулы.
Метод 4: доступ к объединенным значениям ячеек через Sheets API (расширенный)
Чтобы использовать этот метод, вам необходимо включить Sheets API и настроить необходимую аутентификацию. Дополнительную информацию см. в документации Google Sheets API.
function getMergedCellValue(sheetId, range) {
var request = Sheets.Spreadsheets.Values.get(sheetId, range);
var response = request.valueRanges[0].values;
var mergedCellValue = response[0][0];
return mergedCellValue;
}
Объяснение. Этот метод демонстрирует, как использовать API Таблиц для получения объединенных значений ячеек путем выполнения запроса GET к конечной точке API.
Метод 5. Использование службы Google Apps Script Advanced Sheets
function getMergedCellValue(sheetId, range) {
var request = {
spreadsheetId: sheetId,
range: range,
majorDimension: "ROWS"
};
var response = Sheets.Spreadsheets.Values.get(request);
var mergedCellValue = response.values[0][0];
return mergedCellValue;
}
Объяснение. Этот метод использует расширенную службу Таблиц в скрипте Google Apps для получения значения объединенной ячейки.
Извлечь значения из объединенных ячеек в Google Таблицах можно различными способами. Мы рассмотрели пять различных подходов: от использования встроенных методов, таких как getValue()
и getDisplayValue()
, до продвинутых методов, включающих API Sheets и скрипт Google Apps. Выберите метод, который лучше всего соответствует вашим требованиям, и внедрите его в свои проекты, чтобы легко извлекать данные из объединенных ячеек в Google Таблицах.