有条件地移动制表符分隔的值

有条件地移动制表符分隔的值

我有来自制表符分隔的文本文件的输入

25/08/2013  B   TRUE
25/08/2013  L   FALSE
25/08/2013  D   TRUE
26/08/2013  L   FALSE
26/08/2013  D   TRUE
27/08/2013  B   TRUE
27/08/2013  L   TRUE
27/08/2013  D   TRUE
28/08/2013  B   FALSE
28/08/2013  D   FALSE
29/08/2013  B   FALSE

第一列是日期。第二列是早餐、午餐或晚餐。如您所见,缺少一些数据:26 日吃早餐,28 日吃午餐。

现在我想将这些数据放入 Excel 电子表格中,如下所示:

在此处输入图片描述

缺少数据的地方会留下一个空白字段,其余部分将被转移。

我希望这可行且容易。谢谢!

答案1

将制表符分隔的数据导入 Excel 后,您可以使用公式来构建表格。

  1. 创建表格标题。然后,在日期下的第一个单元格中(E3在我的示例中),输入公式
    =MIN($澳元$3:$澳元$15)
    A3:A15原始数据中的日期列在 哪里。
  2. 在下面的单元格中(E4在我的示例中),输入公式
    =E3+1
    并根据需要向下填充。
  3. 在早餐列的第一个单元格中输入公式
    =IFERROR(CHOOSE(SUMPRODUCT(1*($E3=$A$3:$A$15),1*($B$3:$B$15=LEFT(F$2,1)),($C$3:$C$15)*2+1*NOT($C$3:$C$15)),FALSE,TRUE),"")
    其中列标题在F2,原始数据的 BLD 列在B3:B15,原始数据的 TF 列在C3:C15
  4. 将此公式填入列下方。然后将公式填入所有列的右侧。请注意,该LEFT(F$2,1)位只是从列标题中取出第一个字母来检查 BLD 值。如果您的实际数据不遵循此模式,您可以将公式的这一部分替换为要匹配的值(括在引号中)(例如,"B"改为)。

在此处输入图片描述

答案2

我假设您已将输入数据导入到 R 至 T 列:

                                               

喜欢艾克赛尔,我将日期转换为 m/d/yyyy 格式,以便它们可以在我的系统上使用。现在,要将您想要的结果放入 A 至 D 列:

  1. =R2&S2通过输入单元格(如果没有标题行,Q2则输入=R1&S1单元格)并向下拖动/填充来创建辅助列 Q :Q1

                                   

  2. 在 A 列中填写您想要的日期。有很多方法可以做到这一点:

    1. 为了获得某个范围的完整覆盖,

      • 将单元格设置A2=MIN(R2:R12)(或=MIN(R1:R12),如果 R 列中没有标题行),或者只需输入所需的开始日期,然后
      • 将单元格设置A3=A2+1并向下拖动/填充单元格A3。或者只是A2向下拖动/填充单元格。或者A2向下拖动/填充单元格使用鼠标右键并在“填充日子”和“填充工作日”之间进行选择。


      或者

    2. 使用数据中存在的日期,不要使用其他日期。

      • 确保 R 列有标题,然后
      • 选择列(标题和所有数据),然后
      • 转到“数据”选项卡、“排序和过滤”面板,然后单击“高级”,然后
      • 选择“复制到另一个位置”,输入A:A“复制到”,选择“仅唯一记录”(然后单击“确定”)。

  3. 输入=IFERROR(VLOOKUP($A2&LEFT(B$1,1), $Q$1:$T$12, 4, FALSE), "")单元格B2,然后像 Excellll 的答案一样向下和向右拖动。他关于的评论LEFT(F$2,1)同样适用于我的LEFT(B$1,1)

[正如您所发现的,Excel 的某些本地化版本要求函数参数用分号分隔。]

如果您想使此转换永久生效并删除原始数据,只需复制然后粘贴值即可。

我认为这个答案比之前提出的其他答案更简单。另外,我的答案更灵活,因为(我相信)如果在最右边的列中输入了除TRUE或之外的任何数据,其他答案就会失败FALSE,而我的答案可以处理诸如eggssandwichsalad、支付价格、时间、位置等内容。

答案3

您可以使用辅助列、数据透视表和数据透视表中的自定义格式快速完成此操作。见下文。

将数据导入 Excel 并使用“文本到列”菜单将其拆分,如 A:C 列所示。

辅助列 D 将 C 列中的值分配为 1 表示 TRUE,0 表示 FALSE。

使用 VALUES 部分中的辅助列构建数据透视表,如下所示。最初,VALUES 部分将显示 1 和 0。

然后在“值字段设置”中,您可以使用自定义数字格式“True”;“True”;“False”将 1 和 0 转换回 TRUE 和 FALSE。 在此处输入图片描述

相关内容