Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 兰色幻想

[通知] 数组公式练习题:三列转一列(有些难度)

[复制链接]
发表于 2007-9-12 21:34 | 显示全部楼层

<p>我用了,全对!</p><p>兰版的OFFICE是否有问题?</p>
回复

使用道具 举报

 楼主| 发表于 2007-9-12 21:16 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>逍遥自在</i>在2007-9-12 21:07:44的发言:</b><br/><div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>兰色幻想</i>在2007-9-12 21:00:02的发言:</b><br/><div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>逍遥自在</i>在2007-9-12 20:54:36的发言:</b><br/><p>=T(INDIRECT("R"&amp;TEXT(MOD(SMALL(IF(A2:C6&lt;&gt;"",ROW(A2:C6)*10+COLUMN(A2:C6)+COLUMN(A2:C6)*1000),ROW(1:11)),1000),"0C0"),))</p><p>仅适用于文本,如果是数字则将T改为N,如果数字文本都有那就需要再加个判断了.</p></div><p>这个思路真是好,学习了。 </p><p>另:<font color="#e6421a">如果列数是20列,公式该怎么改?</font></p></div><font style="BACKGROUND-COLOR: #f3f3f3;">改为这样=T(INDIRECT("R"&amp;TEXT(MOD(SMALL(IF(K29:M33&lt;&gt;"",ROW(K29:M33)*100+COLUMN(K29:M33)+COLUMN(K29:M33)*10000),ROW(1:11)),10000),"0C00"),))</font> <p></p><br/></div><p>&nbsp; </p><p>我想这也许是最简单的思路了,我的公式有些复杂,就不贴了,这个公式中的row(1:11)我完善一下:最终的结果是: </p><p>{=T(INDIRECT("R"&amp;TEXT(MOD(SMALL(IF(A2:F6&lt;&gt;"",ROW(A2:F6)*100+COLUMN(A2:F6)+COLUMN(A2:F6)*10000),ROW(INDIRECT("1:"&amp;COUNTA(A2:F6)))),10000),"0C00"),))}</p>
[此贴子已经被作者于2007-9-12 21:17:19编辑过]
回复

使用道具 举报

发表于 2007-9-12 21:39 | 显示全部楼层

厉害啊[em17][em17][em17]<br/><br/>逍遥自在来当我们辅导吧<br/>
回复

使用道具 举报

发表于 2007-9-12 21:42 | 显示全部楼层

<p><strong><font face="Verdana" color="#da2549">逍遥自在版主的公式:选中区域后录入数组公式。</font></strong></p><p><strong><font face="Verdana" color="#da2549">不看不看版主的公式:选中一个单元格后录入数组公式,下拉。</font></strong></p>
回复

使用道具 举报

发表于 2007-9-12 20:29 | 显示全部楼层

不是高手,是超高手
回复

使用道具 举报

 楼主| 发表于 2007-9-12 20:29 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>逍遥自在</i>在2007-9-12 20:22:49的发言:</b><br/>=MOD(SMALL(IF(A2:C6,A2:C6+{1,2,3}*1000+ROW(2:6)*100),ROW(1:11)),100)</div><p>好公式[em17],这个是适用于数字。</p><p>能否再写一个适用于字母的公式,甚至适用于所有字符的公式。</p>
[此贴子已经被作者于2007-9-12 20:31:58编辑过]
回复

使用道具 举报

发表于 2007-9-12 20:30 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>特特</i>在2007-9-12 20:29:07的发言:</b><br/>不是高手,是超高手</div><p></p>看来和我们帮主差不多![em02]
回复

使用道具 举报

发表于 2007-9-12 20:33 | 显示全部楼层

<p>为什么这些公式到了别人手里就不一样了呢?</p><p>我一直在想一些查找引用的函数</p><p>结果5楼用了MOD</p>
回复

使用道具 举报

 楼主| 发表于 2007-9-12 21:00 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>逍遥自在</i>在2007-9-12 20:54:36的发言:</b><br/><p>=T(INDIRECT("R"&amp;TEXT(MOD(SMALL(IF(A2:C6&lt;&gt;"",ROW(A2:C6)*10+COLUMN(A2:C6)+COLUMN(A2:C6)*1000),ROW(1:11)),1000),"0C0"),))</p><p>仅适用于文本,如果是数字则将T改为N,如果数字文本都有那就需要再加个判断了.</p></div><p>这个思路真是好,学习了。 </p><p>另:<font color="#e6421a">如果列数是20列,公式该怎么改?</font></p>
回复

使用道具 举报

发表于 2007-9-12 21:01 | 显示全部楼层

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>兰色幻想</i>在2007-9-12 20:51:12的发言:</b><br/><div class="msgheader">QUOTE:</div><div class="msgborder"><b>以下是引用<i>不看不看</i>在2007-9-12 20:49:14的发言:</b><br/><p>虽然长些 这类问题偶喜欢这样</p><p>=INDIRECT("r"&amp;--RIGHT(SMALL(($A$2:$C$6&lt;&gt;"")*COLUMN($A$2:$C$6)*100+($A$2:$C$6&lt;&gt;"")*ROW($A$2:$A$6),SUM(($A$2:$C$6="")*1)+ROW()-9))&amp;"c"&amp;--LEFT(SMALL(($A$2:$C$6&lt;&gt;"")*COLUMN($A$2:$C$6)*100+($A$2:$C$6&lt;&gt;"")*ROW($A$2:$A$6),SUM(($A$2:$C$6="")*1)+ROW()-9)),)</p></div><p></p>我套在表中,结果不对哦</div><p>知道会有人出现据这种情况 说是因为OFFICE的问题 </p><p>加上N或T函数就正常了</p>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2025-8-15 21:48 , Processed in 0.294523 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表