如何运用EXCEL函数公式,依次提取某行非空单元格数值或内容? 10

你好,如何运用EXCEL函数公式,依次提取某行非空单元格数值或内容?如果可以,尽可能不要用数组公式,因为数据量较大。详细描述见图。... 你好,如何运用EXCEL函数公式,依次提取某行非空单元格数值或内容?如果可以,尽可能不要用数组公式,因为数据量较大。详细描述见图。 展开
 我来答
退休画线工
2020-02-15 · 知道合伙人软件行家
退休画线工
知道合伙人软件行家
采纳数:5410 获赞数:26998
1981年毕业于湖南大学,从事化工设计30多年,精于工程设计

向TA提问 私信TA
展开全部

本身是1行有空白单元格的数据,要用公式提取,就必然要用到数组公式。如果不想用数组公式,那可以考虑用VBA,或Power Query(简称PQ),PQ简单快捷,且与数据源关联,数据源变化时,刷新即可更新,但得与原表结构稍不同——数据源与结果都必须有标题行,原来没标题的也会自动添加。本问题在PQ中仅3个极基本的操作步骤,对数据量大时更显其优越性,不存在卡的问题。

把光标定位到数据区域中,数据菜单——获取或转换数据——自区域或表格,Excel会自动扩展选择区域,但因为有空格,可能会有部分数据不会选择,这就要重新手动选择一下,选择后的区域自动转换为表格并添加标题行,然后进入PQ编辑器,在PQ中的3个步骤:转置(行转换为列)——筛选(去掉空白数据null)——转置(还原为行),最后在文件菜单中选择“关闭并上载至,选择目标后完成上载。

可以在PQ中修改标题行的标题名称。

heping956
2020-02-15 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:81%
帮助的人:2732万
展开全部

C7输入公式,完成后,同时按下ctrl+shift+enter三个键:

  =IFERROR(INDEX($A$6:$M$6,,SMALL(IF($B$6:$M$6>0,COLUMN($B$6:$M$6),10^5),COLUMN(A1))),"")

追问
你好,第五行是公式生成的数值,没有显示数值的单元格并非是没有内容的,只有在设定的范围内才会显示数值而已。
您这个公式只适用于空单元格,不适用于非空单元格,麻烦您再设置一下函数公式。拜托了!
追答
如果空格里是"",可以改成:
=IFERROR(INDEX($A$6:$M$6,,SMALL(IF($B$6:$M$6"",COLUMN($B$6:$M$6),10^5),COLUMN(A1))),"")
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柔软的Bp
科技发烧友

2020-02-16 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:67%
帮助的人:8613万
展开全部

C7=INDEX($C$6:$AZ$6,SMALL(IF($C$6:$M$6>0,COLUMN($C$1:$M$1)-2,20),COLUMN(A1)))&""

同时按CTRL SHIFT 回车键,然后右拉公式

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式