我有一个包含2行的Excel工作表。每行都有插入多列的数据。我需要的是根据所有逻辑(如果上午08:00生成一个逗号分隔的列表),如果下午0点则生成0。然后像这样的1:
0,1,0,1,0,0,0,0
在第二行中,我有相同的内容,但是如果我有一个空单元格,那么在这里我可以有一个空单元格,所以我应该得到类似的东西:
0.8,0.8,0.7,0.8,,,,,
有任何线索吗?
答案 0 :(得分:1)
如果您希望以新文件的形式获得结果,则可以将电子表格导出/保存为CSV文件。
答案 1 :(得分:0)
使用if
公式将第一行转换为0和1,然后将文件转换为csv文件。
答案 2 :(得分:0)
对于第一行,可以使用TextJoin和Round的组合。向下舍入8 AM将导致0,舍入8 PM将导致1。
=TEXTJOIN(",",FALSE,ROUND(A1:H1,0))
第二行可以与
一起使用=TEXTJOIN(",",FALSE,A2:H2)
答案 3 :(得分:0)
除了基于公式的解决方案之外,您还可以使用 #PowerQuery
(在 Excel 2010和更高版本中提供)进行操作。
逻辑是将数据添加到幂查询编辑器,使用Transform
标签下的 Replace Values 函数将08:00 a. m.
替换为1
,然后将08:00 p. m.
替换为0
,然后使用Transform
标签下的 Merge Columns 功能合并所有以逗号,
为分隔符的列。结果可能如下所示。您可以将结果加载到新的工作表中(默认情况下),或创建与此查询的连接并将其加载到特定位置,但是限制是它必须位于表中。
此处是幕后全功率查询m代码,仅供参考。所有功能都使用内置功能执行。
let
Source = Excel.CurrentWorkbook(){[Name="YourTable"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type any}, {"Column2", type any}, {"Column3", type any}, {"Column4", type any}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}}),
#"Replaced Value" = Table.ReplaceValue(#"Changed Type","08:00 a. m.",1,Replacer.ReplaceValue,{"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","08:00 p. m.",0,Replacer.ReplaceValue,{"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8"}),
#"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Replaced Value1", {{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}}, "en-AU"),{"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged")
in
#"Merged Columns"