EXCEL如何提取数组中的值? 请问:excel中,如何从数组中提取满足条件的数值?

作者&投稿:姜狗 (若有异议请与网页底部的电邮联系)

'自定义公式-按ALT+F11-插入-模块-粘贴代码-将表格另存为启用宏的格式
Function HB(rng, Optional ByVal fgf As String = "|")
For Each cel In rng
If cel <> "" Then p = p & fgf & cel
Next
HB = Mid(p, Len(fgf) + 1)
End Function



输入以下公式,将多个单元格的文本合并

=PHONETIC(C5:N5)

详见附图示例



如果版本比较高,可以使用textjoin函数,合并一下,然后就可以看到了。
如果是低版本的,建议把数组处理一下,用small或者large函数来提取。但是合并数组就不好处理了。
低版本合并数组的话, 可以使用VBA来解决。

Excel怎么用数组公式从一列中提取非空单元格值~

  如果Excel工作表的某列中包含一些空单元格,要去掉这些空单元格,将非空单元格内容放到另一列中,最快的方法是通过筛选隐藏空单元格,再复制到其他列中。以下是我为您带来的关于Excel用数组公式从一列中提取非空单元格值,希望对您有所帮助。
  Excel用数组公式从一列中提取非空单元格值
  如果不使用筛选,还可以用下面的数组公式:

  假如数据在A2:A20区域中,将提取后的数据放到B列中,在B2单元格中输入数组公式:

  =INDEX($A$2:$A$20,SMALL(IF($A$2:$A$20="","",ROW($A$2:$A$20)-ROW($A$2)+1),ROW($A2)-ROW($A$2)+1))

  公式输入完毕后按Ctrl+Shift+Enter结束,然后向下填充公式,直到出现“#NUM!”为止。

  说明:

  SMALL函数的语法为:

  SMALL(array, k)

  返回数据集“array”中的第“k”个最小值。

  公式中SMALL函数的第一个参数“IF($A$2:$A$20="","",ROW($A$2:$A$20)-ROW($A$2)+1)”产生一个数组:

  {1;"";"";4;"";"";7;8;"";"";11;12;13;"";"";"";17;"";19}

  该数组中的数字为A2:A20区域中非空单元格对应的位置,而空引号则对应区域中的空单元格。

  第二个参数“ROW($A8)-ROW($A$2)+1”根据B列中单元格的位置依次返回“1”、“2”、“3”……

  上述数组中,第1个最小值为“1”,第2个最小值为“4”,……。这样就用SMALL函数“去掉”了数组中的空值,最后用INDEX函数返回一列连续的非 空单元格值。本例由于A2:A20区域中只有9个非空单元格,当SMALL函数的第2个参数为“10”时就会出现错误,说明A列中的非空单元格值已返回完毕。


猜你喜欢:

1. excel函数中怎么提取值

2. Excel中进行一列数据乘以固定值的操作方法

3. Excel中实现循环的操作方法

4. excel如何使用数组公式

5. excel 利用函数数组公式实现高级筛选的教程



'打开表格-按ALT+11-点击插入-点击模块-粘贴代码
Function 提取数据(a As Range)
For Each cel In a
If cel * 1 > 5.409 And cel * 1 < 5.509 Then t = t & "," & cel
Next
If t = "" Then
提取数据 = ""
Else
提取数据 = Right(t, Len(t) - 1)
End If
End Function

excel公式:提取出不重复数值
答:D$20&"",)的计算结果,它表示数组D$1:D$20={3;5;5;2;5;5;5;3;5;3;2;5;3;2;4;5;2;2;3;2}的每一项的数字在数组中第一次出现的位置。例如3;5;5;2对应1;2;2;4等等。ROW($1:$20)={1;2;...

EXCEL 中如何取一数组中最新的非空值数值
答:你可以改变公式,用if函数取消错误值。如果是取最前面的值,把large换成small就可以了。“=INDEX(1:1,small(((IF(ISNUMBER(1:1),COLUMN(1:1))),1))”,输入后同时按下ctrl+shift+enter,输入数组公式 ...

Excel 怎样提取一行数组中的单双数
答:不知道这个 “一行数组”具体是什么,如果是一行数据的话,=IF(MOD(1:1,2)=0,1:1,"")结果就是双数形成的数据(其他数据是 ""),=IF(MOD(1:1,2)=1,1:1,"")就是单数,具体要看你是怎么用了,比如单数求和...

在EXCEL中,如何从数组公式得到的结果中忽略错误值,提取正确值?
答:一般办法是使用IFERROR把错误值设置为默认值,然后就可以用别的函数获得需要的结果(忽略默认值)对于你的例子,看样子是文本,可以把错误设置为空,函数是IFERROR(A1:A4,"")结果就能把{#VALUE!;"B";#VALUE!;#VALUE!}...

Excel中,如何随机返回一个值,从已有的数组里,如从(value1,value2,val...
答:用RAND函数,随机从1-n当中取值,然后就用函数返回数组元素n的值,就可以了。

...Excel VBA中,如何根据1~10数值提取对应数组中的数据。
答:你可以重新声明一个数组用来存储A1到A10 dim arr(1 to 10)arr(1)=A1():arr(2)=A2()...而引用的时候也可以方便点,例如你要引用A2(3),则只要:arr(2)(3)即可。当然你也可以不要A1到A10这10个数组,而用一...

EXCEL中怎样将一包含数值的列中将数值取出来?
答:设这内容在A列,全选A列,选“复制”,再全选B列,在选区内点击右键点击选“选择性粘贴”,“粘贴”项中点选“数值”,“运算”项点选“加”,保存后B列上就会将A列上的数值复制过去,其它如文本等就不显示了。

excel如何查找数据并返回其他列的值?
答:VLOOKUP函数的作用是,在表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。VLOOKUP 中的 V 参数表示垂直方向。当比较值位于需要查找的数据左边的一列时,可以使用 VLOOKUP 而不是 HLOOKUP。语法 VLOOKUP(...

EXCEL提取数组中的数字到单元格
答:将{}替换掉,将;替换为空格。=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"{",""),"}",""),";"," ")

怎么在excel中实现三维数组取值
答:假设有20张工作表,每张表的第一行为表头信息,共10列100行数据。现用三维数组存放这些数据。代码如下:sub test()dim arr(1 to 20,1 to 100,1 to 10) '第一维:工作表 第二维:对应的行 第三维:对应的列 ...