楼主 toby08 |
如下图,找出A列的对称字符串,效果如C列所示 要求:1、除VBA外,可使用任何方法 2、在Excel中批量完成 说明:可使用任意辅助列,并建议在2007以上版本完成该题。 本人答案的关键之处:2010(2007)、SQL 、字符串处理 源数据: 效果图: 对称字符串.rar |
2楼 syz105729913 |
对称不对称?.rar 参与一下 公式稍微修改即可,在2007版本下使用。
|
3楼 rongjun |
数组公式:
对称不对称?.rar |
4楼 kevinchengcw |
|
5楼 mosforyou |
可以使用辅助列吗? ........................... 呵呵,下了新附件才明白,要区分大小写哦! 重新做了一个,看看是否合题意?适用所有高版本? 对称不对称.rar |
6楼 wjc2090742 |
唉,参与一下,根本想不出来怎么批量处理。偶尔也要有我们菜鸟能做的题目嘛。 对称字符串.zip |
7楼 wjc2090742 |
学习了草版循环引用的帖子,继续来参与一下,不管怎么说,比起上面的回答总是进步了。已经向人请教oricle中sql的写法了,不知道能否在本测试结束前学会楼主的解法。 做法见附件。 对称字符串.zip |
8楼 donghan |
学习高手的答案 |
9楼 wuxiang_123 |
不知道SQL中区分大小写的函数是什么,所以只能拆分出来用函数来比较。 对称字符串.gif 对称字符串.rar |
10楼 xiongkehua2008 |
版主請查看附件,應用了自定義名稱(主要是為了縮減輔助列中公式的長度)+輔助列的方法完成... 111.rar |
11楼 donghan |
=INDEX(A:A,SMALL(IF(MMULT(--(CODE(MID(REPT("A",61-LEN(A1:A21))&A1:A21,COLUMN(A:BI),1))=CODE(MID(A1:A21&REPT("A",61-LEN(A1:A21)),62-COLUMN(A:BI),1))),ROW($1:$61)^0)/61<1,99,ROW(1:21)),ROW(1:21)),)&"" |
12楼 chrisfang |
数组公式,03版本下亦可使用:
|
13楼 棉花糖 |
=INDEX(A:A,SMALL(IF((MMULT(--(EXACT(MID(A1:A21,61-COLUMN(A:BH),1),MID(A1:A21,TEXT(COLUMN(A:BH)-60+LEN(A1:A21),"[>0]0;99"),1))),ROW(1:60)^0)=60)*LEN(A1:A21),ROW(1:21),22),ROW(1:21)))&"" 多单元格数组公式 |
14楼 wenshui2006 |
用了一个辅助列,,,适用2003/2007/2010版,,,, 等看不用辅助列的方法,,, 对称字符串.rar |
15楼 xiongkehua2008 |
再发个不用辅助列的 =INDIRECT("a"&SMALL(IF(MMULT(N(FIND(MID(A$2:A$21,COLUMN(A:BH),1),A$2:A$21)=FIND(LEFT(RIGHT(A$2:A$21,COLUMN(A:BH))),A$2:A$21)),ROW($1:$60)^0)=60,ROW($2:$21),4^8),ROW(A1)))&"" 111.rar |
16楼 arjoe |
从第2行开始,07版数组公式 =OFFSET(A$1,SMALL(IF(MMULT(N(CODE(LEFT(RIGHT(A$2:A$21,COLUMN(A:AD))))=CODE(RIGHT(LEFT(A$2:A$21,COLUMN(A:AD))))),ROW(1:30)^0)=30,ROW($1:$20),4^8),ROW(A1)),)&"" |
17楼 rongjun |
多单元格数组公式:
|
18楼 liuguansky |
函数解决,区域数组,见附件。2003 =INDEX(A:A,SMALL(--TEXT(MMULT(--(CODE(MID(A2:A21&REPT(" ",60),COLUMN(A:BG),1))=CODE(RIGHT(REPT(" ",60)&A2:A21,COLUMN(A:BG)))),ROW(1:59)^0),"[=59]"""&ROW(2:21)&""";65536"),ROW(1:20)))&"" 对称字符串.rar |
19楼 水星钓鱼 |
toby的答案应该有辅助列吧? |
20楼 toby08 |
我的做法: SQL语句:
若不习惯上面SQL语句的写法,可先写如下的过渡性语句:
关于这两个函数的用法,可参考: |