如何将数组里的各数据分别提取出来?

用公式

一、用PHONETIC合并单元格数据,要求数据为文本

如果全是文本,比较好处理,但如果是数字倒就比较难了。数字的话就先转换成文本,方法:选择要转换的列,数据菜单中选择“分列”(实际上并不分),在分列步骤之3中(最后一步),点击选择数据类型“文本”,完成后,数字就转换成文本了。

文本数据就可以用PHONETIC来合并,如图,E3

=MID(PHONETIC($A3:$D3)&"",COLUMN(A:A),1)

所用的3个函数即使是Office 97甚至更古老的版本都能用。

下拉,再一起右拉到所有列都出现空白单元格。

请注意:截图中因为D3的数字还是纯数字,没有转换为文本数字,所以没有被PHONETIC合并进去,所以D3中数字没有提取出单个数字。

二、用CONCATENATE合并数据,可以合并数字,但合并时不能选择区域,只能用枚举的方式,如图,

E8=MID(CONCATENATE($A8,$B8,$C8,$D8),COLUMN(A:A),1)

自己选择用哪个公式更方便吧,反正都是可行的。

追答

建议有纯数字的单元格时用方法二,公式中枚举各个单元格也就点以下鼠标选择,再加上输入逗号分隔。而对数据进行分列时,一次只能处理一列,相对来说操作步骤稍复杂一点。而如果全是纯文本,则方法一更简单些,公式也显得更简练。

追问

不是提取单个字或数字。
在公式按F9运行结果是
={"";"数据2";"";"";"";"数据6";"";"数据9";""}
提取到三个单元格 数据2 数据6 数据9
={"";12;"";"";"";3699;"";"13";"85"}
提取到四个格12 3699 13 85
在365以下版本中,使用公式提取,提取到一个单元格也可以,这个恐怕难度更大。

追答

越看越不明白了,呵呵。能否发图,直接给出至少两个例子,两个举例中,并说明数据源在哪些单元格,再在需要得到的结果中手工输入正确的结果,然后说明为何是这样的结果。截图带上行号和列标。带上行号和列标也便于提问时描述。

追问

在提问上面有一个截图,上面有行号有列号,也有公式,在公式中按F9,出来的样子就是刚才追问里的举例。这么说您能看明白不?

追答

反复琢磨“按F9”,猜想题主可能是要把截图中公式所形成的内存数组取出来?刚才看击掌庆贺的回答,说的也是这个意思。真是为自己的理解能力差感到无助。

其实在Office 365或Excel 2021中,根本无需什么textjoin,直接在E2单元格输入如:

=INT(A2:C2)

就 可以得到需要的结果,称为溢出。

而如果是低版本的话,用定义名称+INDEX也比较容易实现,下面的三个截图分别用不同的方式定义了名称,因为截图已能说明一切问题,就不作过多的说明。只第三种方式,MID的起位置用了函数COLUMN,得到A列从第1个位置取2个字符,B列从第3个字符开始取2个字符,依次类推。MID的第3参数也可以同样用COLUMN函数,得到不同列取不同的字符个数。需要注意定义的名称中,列固定,行不固定,方便公式下拉。


取整数


取前2个字符

依次取2个字符

要在一个单元格中提取,没有textoin,就只有把E、F、G中的三个公式用&连接出来,如果还要中符号分隔,中间也用&连接英文双引号引起来的符号。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-01-21

在G2中输入或复制粘贴下列公式

=INT(A2)

右拉填充

在G4中输入或复制粘贴下列公式

=LEFT(A4)

右拉填充

如果是2021版,

在G2中输入或复制粘贴下列公式

=INT(A2:C2)

回车即可得到全部结果

在G4中输入或复制粘贴下列公式

=LEFT(A4:B4)

回车即可得到全部结果

第2个回答  2022-01-13

1、您可以使用s = struct直接创建空结构。Struct(field,value)可以将字段创建为值为value的字段。当value是具有n个元素的单元格数组时,创建的结构的长度也是n,并且每个结构的字段字段具有单元格数组的项目。

2、Struct(field1,value1,field2,value2 ....)创建一个具有多个字段的结构,其中每个值都是一个单元格数组,长度相等或只有一个元素。(普通数组将被视为元素)所得结构的长度是非单个元素单元阵列的公共长度。如图所示,生成长度为2(1 * 2)的结构阵列。

第3个回答  2022-01-13

打开需要编辑的Excel表格,如下图所示:

单元格中为纯数字,则提取数字的方法比较简单;比如,要提取单元格A2中的数字的前三位,则可以单元格B2中输入公式:

      =LEFT(A2,3)

      LEFT函数表示从左边提取数字,并返回指定个数的字符。

单元格中为数字与字母的混合,则提取数字的方法就要有所改变了;比如,要提取数字的单元格A3为数字与字母混合“abc123456”,则可以使用以下的公式:

      =MID(A3,4,6)

      MID函数表示从指定位置返回指定长度的字符。

第4个回答  2022-01-13

如图所示,公式如下,数组公式,按CTRL+SHIFT+ENTER组合,右拖复制。

G2公式:

=IF(COLUMN(A1)>3,"",LOOKUP(COLUMN(A1),ROW(1:3),INT($A2:$C2)))

G4公式:

=IF(COLUMN(A1)>2,"",LOOKUP(COLUMN(A1),ROW(1:2),MID($A4:$C4,1,1)))

本回答被提问者采纳
相似回答