【问题标题】:How to cut and paste values from a row based on Blank column in Excel?如何根据 Excel 中的空白列从行中剪切和粘贴值?
【发布时间】:2020-11-02 08:59:39
【问题描述】:

您好,提前感谢您的帮助。

我在 Excel 中尝试做的是根据列是否为空白来剪切和粘贴值。

这是我所拥有的一个例子:

这就是我的数据的样子。它是一个 ID 列,然后是几个其他描述符列。但是,包含列名的行在每个实例之后都会重复。

因此,ARX_model2 与从空白列及其关联编号开始的所有列相关联,直到最后一个字母列及其关联编号。

之后,ID 列的下一行,例如 ARX_model3 与下一组列相关联,从空白列及其关联编号开始,直到最后一个字母列。

我在这里的目标是反复剪切/粘贴每组相关数字并最终得到:

我必须使用空白列作为参考,因为描述符列的数量,即 B、C、G、E 各不相同,但每个新集合总是以空白列开头。

任何有关如何在 Excel 中执行此操作的帮助将不胜感激。

【问题讨论】:

  • 你从哪里得到这些数字?你说你复制和粘贴,所以如果你告诉整个过程会很有帮助
  • 这些数字来自一个名为 DSSP(二级结构预测词典)的程序的结果计数。我的目标是让每个条目的 DSSP 程序的结果与 ARX_model2 中一样,以便我可以对它们进行一些分析。这是你的意思吗?

标签: excel formatting data-processing


【解决方案1】:

嗯,这个很难。

我做了一些你可以适应你需要的东西:

在我正确看到图像之前,您的问题太难理解了。您的数据在 1 行中,并且您希望将该行分成更小的数据组,每组在 1 行中。您分隔组的方式是那些空白列。并且所有组的大小都相同。

一旦我得到它,我就管理了一个公式来获得一个范围内空白的第 n 个位置,所以对于第一个模型我想要获得第一个巧合,对于第二个模型我想要第二个巧合,依此类推。

公式的那部分归功于 ExcelJet:

How to Find Nth Occurrence in Excel

我调整了公式以适用于列,而不是行,这就是我所做的一切:

所以我编造了这个数组公式

=INDEX($A$2:$Y$2;1;SMALL(SI($A$1:$Y$1="";COLUMN($A$1:$Y$1)-COLUMN($A$1)+1);ROW()-ROW($B$12))+COLUMN()-COLUMN($B$12))

因为是数组公式,所以必须按 CTRL+ENTER+SHIFT 否则不会 工作!

这就是它的工作原理:

  1. SMALL(SI($A$1:$Y$1="";COLUMN($A$1:$Y$1)-COLUMN($A$1)+1);ROW()-ROW($B$12) 会找到第 n 个巧合。这里的诀窍是ROW()-ROW($B$12),因为它在向下拖动时控制第n个部分。因此,对于第一个模型,结果将为 1,对于第二个模型,结果将为 2,依此类推。所以这将返回一个数字,它是第 n 个空白标题单元格。
  2. 第 1 步中的数字在 INDEX 函数中使用,以始终在第一行但不同的列上获取特定值。 +COLUMN()-COLUMN($B$12) 部分只是控制目标列,当您向右拖动公式时,它是动态的。

注意:请注意,在单元格 A1 中,我输入了单词 MODELS。我必须这样做,因为如果 A1 为空白,那么公式将无法正常工作。只需在上面输入任何文字。

我已将示例上传到 Google 云端硬盘以供您查看公式:

https://drive.google.com/file/d/15joXnmw0fejoUg1SkaXCtNITXtQX2uvI/view?usp=sharing

【讨论】:

  • 非常感谢您的帮助!我不得不修改我的公式以输入正确的条目数,但它适用于我的大量实例。但是,并非所有组的大小都相同,因为有时会有一个额外的“I”列,例如“H”“我”“S”“T”。这是因为 DSSP 程序有时会为我的实例计算“I”特征。有没有办法解决这个问题?
  • 澄清一下,像这样:imgur.com/rsWbtFH
  • 不确定,但无论如何,请编辑您的原始问题并添加这个新的额外信息。此外,请始终保持清晰和详细,这里最大的问题是了解您想要得到什么。
猜你喜欢
  • 2018-12-11
  • 2016-11-30
  • 2019-10-10
  • 2021-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多