code: private CellFormatResult getMergedCellValue(final Cell cell, final Locale locale) {
  
          final Sheet sheet = cell.getSheet();
          final int size = sheet.getNumMergedRegions();
  
          for(int i=0; i < size; i++) {
              final CellRangeAddress range = sheet.getMergedRegion(i);
              if(!range.isInRange(cell.getRowIndex(), cell.getColumnIndex())) {
                  continue;
              }
  
              // 非BLANKまたはnullでないセルを取得する。
              for(int rowIdx=range.getFirstRow(); rowIdx <= range.getLastRow(); rowIdx++) {
                  final Row row = sheet.getRow(rowIdx);
                  if(row == null) {
                      continue;
                  }
  
                  for(int colIdx=range.getFirstColumn(); colIdx <= range.getLastColumn(); colIdx++) {
                      final Cell valueCell = row.getCell(colIdx);
                      if(valueCell == null || valueCell.getCellTypeEnum() == CellType.BLANK) {
                          continue;
                      }
  
                      return format(valueCell, locale);
                  }
              }
  
          }
  
          return createBlankCellResult();
      }
docs: 結合されているセルの値の取得。
  <p>通常は左上のセルに値が設定されているが、結合されているときは左上以外のセルの値を取得する。
  <p>左上以外のセルに値が設定されている場合は、CellTypeがCELL_TYPE_BLANKになるため注意が必要。
  @param cell
  @param locale
  @return