谷歌表格导出Excel时输出数值而非公式

5
我有一个谷歌表格,第一个标签页中的单元格从第二个标签页中的单元格中提取数据。
例如,Sheet1单元格A1为=Sheet2!A1。
对于Sheet1上的每个单元格都是如此。
当我执行“文件 - 另存为 - Microsoft Excel (.xlsx)”时,
它会导出带有公式的单元格。有没有一种方法可以将工作表导出为值而不是公式?
在这种情况下,Sheet1单元格A1将不包含=Sheet2!A1,而是包含=Sheet2!A1的值?
6个回答

2

您可以复制原始的Google电子表格,并在副本中更改每个选项卡的第一个单元格的公式,以从原始电子表格中导入数据:

=IMPORTRANGE("spreadsheet id","'tab name'!range")

示例:

=IMPORTRANGE("1C-PS4wAHS8ssCNgVDfOsssREAz7PjuQGX23Rk0sssss","'measurement with spaces'!A12:F44")

您可以通过原始电子表格的URL获取ID:
https://docs.google.com/spreadsheets/d/1C-PS4wAHS8ssCNgVDfOsssREAz7PjuQGX23Rk0sssss/edit#gid=99999999

从副本中导出的xlsx文件只包含值。

当然,除非现在你又添加了另一个公式。应该有一种方法可以修改导出时的URL,以指定您需要“仅值”。例如,您可以输入“export?format=xlsx&type?format=valuesonly&gid”。 - Victor --------

0

如果您想下载单个表格电子表格,而不是将其下载为 .XLSX,请将其下载为 .CSV

如果通过双击打开 .CSV 文件显示奇怪的字符,则您计算机的默认编码与 Google 服务器使用的编码不同。要修复此问题,请执行以下操作:

  1. 打开 Excel。
  2. 点击文件 > 打开。
  3. 选择 .CSV 文件。
  4. 导入向导将被显示。其中一步将允许您选择文件编码,请选择UTF-8
  5. 完成导入向导后,将您的文件保存为 .XLSX

相关


0
我做了以下操作,它对我有效: 复制该文件 CTRL+A > CTRL+X > CTRL + V 只粘贴数值(从按下CTRL+V后显示的粘贴图标中选择)

0

@fabceolins的回答对于普通情况来说很简单且不错,但我注意到Excel仍然会包含对IMPORTRANGE公式的引用,这可能会导致访问问题。

我创建了Google App脚本以复制以下方法。 如果您可以使用Google App脚本,请添加以下函数:

function update_view(dup_id, TL="A1", BR="Z991") {
    // Open current Sheet
    var ss = SpreadsheetApp.getActiveSpreadsheet()
    // Supply a duplicate google doc ID. This document will be exported to excel
    var ds = SpreadsheetApp.openById(dup_id)
    // UI element for notifying in the google sheets
    var ui = SpreadsheetApp.getUi()
    //Copy each sheet one by one
    var sheets = ss.getSheets();
    for (i=0; i<sheets.length; i++) {
        src_sheet = sheets[i];
        sheet_name = src_sheet.getName();
        // If same sheet exists in the destination delete it and create an empty one
        dst_sheet = ds.getSheetByName(sheet_name);
        if (dst_sheet != null) {
            ds.deleteSheet(dst_sheet)
        }
        dst_sheet = ds.insertSheet(sheet_name);
        //set column width correctly
        for(j=1; j<=src_sheet.getLastColumn(); j++){
            dst_sheet.setColumnWidth(j, src_sheet.getColumnWidth(j))
        }
        src_range = src_sheet.getRange(TL + ":" + BR);
        dst_range = dst_sheet.getRange(TL + ":" + BR);
        //Note: DisplayValues is set as Values, formulas are removed in dup sheet
        dst_range.setValues(src_range.getDisplayValues());
        //Nice to haves for formatting
        dst_range.setFontColors(src_range.getFontColors());
        dst_range.setFontStyles(src_range.getFontStyles());
        dst_range.setBackgrounds(src_range.getBackgrounds());
        dst_range.setHorizontalAlignments(src_range.getHorizontalAlignments());
        dst_range.setVerticalAlignments(src_range.getVerticalAlignments());
        dst_range.setWraps(src_range.getWraps());

        dst_contents_range = dst_sheet.getDataRange();
        dst_contents_range.setBorder(true, true, true, true, true, true);
    }
    //Completed copy, Now open the dup document and export.
    ui.alert("Backup Complete, Please open " + dup_id + " sheet to view contents.")
}


function update_mydoc_view(){
// https://docs.google.com/spreadsheets/d/<spreadsheet_id>/
    update_view("<spreadsheet_id>")
}

要运行该函数,请转到工具->宏->导入,导入该函数并运行update_mydoc_view()。

完成后,将Google表格导出为Excel文档。


-1

如果您只想保留Sheet1中的值,只需选择工作表中的数据,将其复制,打开一个新的Excel工作簿,然后在粘贴时,而不是使用传统的热键Ctrl+V,右键单击单元格A1,并在右键菜单的粘贴选项类别下选择粘贴值

如果问题是下载的Excel没有功能公式,而是将公式显示为文本,请按照上一个评论者所说的做法。检查您的视图,确保您不在公式视图中。使用热键Ctrl+~,或转到“视图”选项卡以检查您的视图选项。


-2

默认情况下会显示公式的值而不是公式本身。

你确定你没有在Excel中进入公式查看模式吗?

enter image description here

如果您勾选“显示公式”,它将切换到公式视图。
或者一般来说,您可以尝试以下内容: MS Excel showing the formula in a cell instead of the resulting value 如果这确实是一个谷歌表格的问题,我会感到惊讶 - 这与Excel的显示有关。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接