根据A列的状态在工作表之间拆分数据

时间:2015-07-29 13:20:43

标签: excel vba excel-vba

我被要求在Excel中创建一个志愿者数据库。主要工作表(称为数据)包含所有信息 - 名称,地址,数字,参考检查,展示位置,主管等。我想要实现的是将相关信息从一个工作表移动到另一个工作表时的状态这个人改变了。 志愿者会有5个类别(A栏标记为“状态”)

加工

ACTIVE

暂停

BARRED

STOPPED /退休的

我想得到的是一个实时数据库,因此只要主电子表格上的状态发生变化,信息就会显示在相关工作表上,但我只想根据类别显示一些信息... 每个工作表将包含“数据”工作表中的A-F列,另外还包含:

处理将包含X-AE列

有效:AF-AW

暂停:AZ-BC

禁止:AX-AY

停止/退休: - BD-BH

我再次搜索和搜索,但我对Macros一无所知(我的IT部门无法提供帮助)所以我的问题是 - 这是否可行,如果有的话,是否有人能够帮助我? 我希望我有意义,如果不是,我可以通过虚拟数据库发送电子邮件,其中包含一些名称,以显示我正在尝试创建的内容

1 个答案:

答案 0 :(得分:0)

您可以使用数组公式执行此操作。此链接显示a simple example,其中提供了基本公式(在链接文章中详细说明)

=INDEX(range,SMALL(IF(col=value,ROW(range)),ROW(1:1)),COLUMN(A2))

range是主工作表中所有数据的范围,value是您要筛选的值(每个工作表的更改),而col是主工作表上要检查其值的列。请注意,它是一个数组论坛,因此您必须在输入公式后按下control + shift + enter,如链接底部所述。

您会注意到我已将公式更改为COLUMN(A2)而不是2。这样您就可以跨列和向下拖动公式。您可能需要将此COLUMN(A2)-x设为x,因为您的数据不会从A列开始。

请注意,同样适用于ROW(1:1)部分,如果您的range未在第1行开始,那么您还需要将此值偏移一些值(例如{{1} }})