我正在使用Google SpreadSheet,而我正在尝试使用包含单词列表的多个工作表。在最后一页上,我想创建一个汇总列表,它是列中所有值的组合。我使用= CONCATENATE()进行排序工作,但是它把它变成了一个字符串。有什么方法可以将它保留为列列表吗?
以下是列的示例:
Sheet 1中
Sheet 2中
FinalSheet
答案 0 :(得分:67)
我在那里 是一个更好的解决方案。它已在下面发布,但我在这里复制它,所以它在最佳答案:
=unique({A:A;B:B})
警告:在某些情况下,这将包括一个空白单元格(例如,如果在第一个列表的末尾有一个空白单元格。)
如果您不关心订购和拖尾空白单元格,那么简单的sort()
将会清理:
=sort(unique({A:A;B:B}))
否则filter()
可以像这样删除空白:
=filter(unique({A:A;B:B}),NOT(ISBLANK(unique({A:A;B:B}))))
我确信这是“错误的做法”,因为这似乎是一个非常简单和常见的任务,我觉得我必须错过一些东西,因为它不应该需要这样一个过度的解决方案。
但这有效:
=UNIQUE(TRANSPOSE(SPLIT(JOIN(";",A:A,B:B),";")))
如果您的数据包含任何';'您自然需要更改分隔符的字符。
答案 1 :(得分:9)
基本的方法就是把它做成像这样的数组
={A1:A10;B1:B10...etc}
我发现这个方法的问题是,如果你有很多列,那么它非常耗时。 我做了一些搜索,发现了这篇文章:
Joining Multiple Columns Into One Sorted Column in Google Spreadsheets
核心公式是
=transpose(split(arrayformula(concatenate(if(len(A:Z)>0,A:Z&";",""))),";"))
显然,您将A:Z替换为您想要使用的任何范围。
如果您想进行一些排序或删除重复项,您只需将上述公式包装在SORT()
和/或UNIQUE()
方法中,就像这样..
=sort(unique(transpose(split(arrayformula(concatenate(if(len(A:Z)>0,A:Z&";",""))),";"))))
希望这会有所帮助。 快乐编码每个人:)
答案 2 :(得分:7)
您可以使用:
=unique({A1:A;B1:B})
在这里工作完美!
答案 3 :(得分:5)
更简单:
={sheetone!A2:A;sheettwo!A2:A}
答案 4 :(得分:5)
unique()
函数删除了空格,但对我没有帮助,因为我的一些行重复了。相反,我首先按len()
过滤列以删除空白单元格。然后我以相同的方式将列组合在一起。
={filter(A:A, len(A:A)); filter(B:B, len(B:B))}
答案 5 :(得分:1)
有一个名为flatten的未公开功能
flatten(A1:B2)
如果2d范围不在一个范围内,则可以先使用“&”号或类似技术创建一个范围。之后,可以在生成的2d范围内调用展平。下面的示例有些夸张,但是在处理动态2d范围时(它不易使用基本解决方案)很好。
flatten(ARRAYFORMULA(SPLIT(ARRAYFORMULA(A1:A2&";"&C3:C4), ";")))
本文还展示了如何使用查询中的skipping
子句轻松地展平范围。
答案 6 :(得分:0)
@
1
)TRUE
(A:C
)参数表示 IGNORE EMPTY ,这在这种情况下非常重要。D1:D5
和UNIQUE
是要合并的范围// THIS IS THE COMMON CONFIGURATION FOR DEVELOPMENT AND PRODUCTION ENVIRONMENT
const commonPaths = require("./common-paths");
const commonRules = require("./common-rules");
const webpack = require("webpack");
const CaseSensitivePathsPlugin = require("case-sensitive-paths-webpack-plugin");
const {CleanWebpackPlugin} = require('clean-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
mode: "none",
resolve: {
extensions: [".js", ".ts", ".tsx", ".json"]
},
entry: {
index: [
commonPaths.polyFillsPath,
commonPaths.eventPolyFills,
commonPaths.projectRoot
]
},
module: commonRules,
plugins: [
new CleanWebpackPlugin(),
new CaseSensitivePathsPlugin(),
new webpack.WatchIgnorePlugin([
/\.js$/,
/\.d\.ts$/
]),
new CopyWebpackPlugin([
{ from: 'src/delivery-tracking/_assets/img/', to: 'delivery-tracking/_assets/gen/img/' },
{ from: 'src/extras-card/_assets/img/', to: 'extras-card/_assets/gen/img/' },
{ from: 'src/modal/_assets/img/', to: 'modal/_assets/gen/img/' },
{ from: 'src/progress-overlay/_assets/img/', to: 'progress-overlay/_assets/gen/img/' },
{ from: 'src/chat/_assets/img/', to: '_assets/gen/img/' },
])
]
};
答案 7 :(得分:-3)
尝试将CONCATENATE参数与
一起使用=ArrayFormula(EXPAND(...))