ITPub博客

首页 > 应用开发 > IT综合 > EXCEL问题集合4

EXCEL问题集合4

原创 IT综合 作者:jackdear 时间:2008-01-14 00:53:37 0 删除 编辑
接:EXCEL问题集合[@more@]

截取单元格里某个字符后的字符

A tof :使用RIGET()LEFT()函数就可以了,详细可以参考EXCEL的帮助
liberty
:比如这样:
a1
内容为dfgsd2163.com,g2er.g 我需要提取出,号以后的字符,g2er.g 午餐 :先使用SERACHFIND函数找出“,”的位置,再用MID来取数,如A1123456,我想取出“,”以右的数,可以=MIDSEARCH(,),8)。可能我用的函数不行,不过思路一定行。   你多看看帮助文件,我在网吧,此机无EXCEL无法试,不过我以前用过,用MIDSEARCH一定行的通,多试试吧。   实在不行再给我邮箱发信了,愿意帮忙!祝你好运。   我认为能用函数解决的最好不用VBA,你说呢?
markxg
:假设A1中有dfgsd2163.com,g2er.g
=RIGHT(A1,LEN(A1)-SEARCH(",",A1,1))
missle
:我今天也试着用公式解决了你的问题,思路与MARK的一样,只是他用的是SEARCH,我用的是FIND。但不是很清楚你的问题,是否要把“,”号一起给截取下来,如果是的话:公式应该是=RIGHT(A1,LEN(A1)-SEARCH(",",A1,1)+1),否则“,”号是无法截取到的。 把问题给纵深一下,如果单元格内有多个“,”的话,如A1中是:aa,bb,cc,dd 我想截取 cc,dd 该如何作呢?或者想知道这个单元格中含有多少个“,”又应该如何呢?(VBA的解决方法除外) 午餐 :Missle,你看仔细了,在Search函数中是有参数的,它允许你指定在第几个出现显出位置,如“,”你可以通过指定search参数选定第几次出现时的位置,对于截取我更认为MIDLEFTRIGHT

if函数判断

请问:如何用if函数判断,如果a1单元格大于0,b1单元格为0是错误,为非0是正确?
A
dongmu
if(and(a<=0,b=0),"
错误","正确") 葡萄 :=if(a1>0,if(b1=0,"错误","正确"),"条件一不满足")

分别显示总分最高的同学的班级、姓名、总分

Q:问题1是这样的:
1
、在A1:A30单元格区域中输入500600之间的数值;
2
、在B1单元格中输入500
3
、在C1单元格中插入公式: COUNTIF(A1:A30,">=INDEX(B1,1)*0.9") 回车后C1单元格中显示的结果是0,为何不能把A1:A30中输入的数大于或等于500*0.9的单元格个数统计出来?错在哪里,该如何更正? 问题2有下面一个表格: 班级 姓名 政治 语文 数学 总分
1
小东 90 90 90 270 /2 明明 95 92 90 277 /3 小英 96 89 91 276 /要在K1:K3的单元格中分别显示总分最高的同学的班级、姓名、总分 .该如何设置公式? 答案1:建议你好好看看COUNTIF的帮助,真是搞不明白,为什么在B1里输入500而不是450呢? COUNTIF不支持一个以上的条件,你应该用DCOUNT答案2
K1=INDEX(A2:F4,MATCH(K3,F2:F4,0),1)

K2=INDEX(A2:F4,MATCH(K3,F2:F4,0),2)

K3=MAX(F2:F4) 解答3

问题一:公式改为:=COUNTIF(A1:A30,">=" & INDEX(B1,1)*0.9) 问题二:在K1:K3中分别输入如下公式(假设A1"班级")
=LOOKUP($K$3,$F$2:$F$4,A2:A4)
=LOOKUP($K$3,$F$2:$F$4,B2:B4)
=LARGE(F2:F4,1)
解答4

第一题:=COUNTIF(A1:A30,">="&B1*0.9) 第二题:K1==INDIRECT("A"&MATCH(MAX(F1:F4),F1:F4))
K2=INDIRECT("B"&MATCH(MAX(F1:F4),F1:F4))
K3=MAX(F2:F4)

定有如上两列数据AB 现在想要统计满足条件B8 并且在C列自动生成数据

Q: A B C
427 8 427 /612 8 612 /924 8 924 /22 16 409 /94 16 /620 16 /955 16 /409 8
请问 :假定有如上两列数据AB ,现在想要统计满足条件B8 ,并且在C列自动生成数据,我不懂公式怎么写?我知道筛选能够做到 ,但是由于数据量比较大 ,想做一个模板,免去一些重复劳动 .
A: dongmu
=IF(ROW($A1)>COUNTIF($B$1:$B$8,8),"",INDEX($A$1:$A$8,MATCH(SMALL(IF($B$1:$B$8=8,0,1)+ROW($B$1:$B$8)/100000,ROW
($A1)),IF($B$1:$B$8=8,0,1)+ROW($B$1:$B$8)/100000,0)))
老夏 L:
B
栏有100个选取条件,公式要修改100 ,有甚么灵活性?,给字段名称,插入头两列.B1=SUBTOTAL(9,B4:B65536) .解决掉所有问题 ,控件找自动筛选.

排名问题

A1:F6区域有下面一个表格: 班级 姓名 政治 语文 数学 总分
1
小东 90 90 90 270 /2 明明 95 92 90 277 /3 小英 96 89 91 276 /4 小刘 95 90 92 277 /5 小红 95 91 92 278 /要在K1:K3的单元格中分别显示总分最高的同学的班级、姓名、总分/L1:L3的单元格中分别显示总分第二的同学的班级、姓名、总分 /M1:M3的单元格中分别显示总分第三的同学的班级、姓名、总分 /注意期中277分的有两人,不要出现第二名与第三名都是"明明"的结果.
A: dongmu
定义A2:A6区域为班级 ;定义B2:B6区域为姓名;定义F2:F6区域为总分
K1={INDEX(
班级,MATCH(LARGE(总分+1-ROW(总分)/100,ROW($A1)),总分+1-ROW(总分)/100,0))}
L1={INDEX(
姓名,MATCH(LARGE(总分+1-ROW(总分)/100,ROW($A1)),总分+1-ROW(总分)/100,0))}
M1={INDEX(
总分,MATCH(LARGE(总分+1-ROW(总分)/100,ROW($A1)),总分+1-ROW(总分)/100,0))}注:只要向下复制,便可得到1~6名的情况了。该公式可以无限排列。

研究彩票,从统计入手

Q:我有一个VBA编程的问题向你请教。麻烦你帮助编一个。我一定厚谢。 有一个数组列在EXCEL中如: 01 02 03 04 05 06 07 /01 04 12 19 25 26 32 /02 08 15 16 18 24 28 /01 02 07 09 12 15 22/09 15 17 20 22 29 32/比较,如果有相同的数就在第八位记一个数。如 :01 04 12 19 25 26 32 2 /02 08 15 16 18 24 28 1 /01 02 07 09 12 15 22 2 /09 15 17 20 22 29 32 0 .这个数列有几千组,只要求比较出有几位相同就行。 解答:把“01 02 03 04 05 06 07 ”放在表格的第一行,“01 04 12 19 25 26 32 2”放第二行。 把以下公式贴到第二行第八个单元格“A9”中,按F2,再按CTRL+SHIFT+ENTER.
=COUNT(MATCH(A2:G2,$A$1:$G$1,0))

去掉XLS文件头上菜单栏的“MIcrosoft EXCEL ”字样

A: Private Sub Workbook_Open()
Application.Caption = "
程香宙专用表格"
End Sub

替换数据

Q:请教各位如何用将一组数据, 如:6550894 9852547 2656032 7461136 0505867 5564892 72355800421077,我需要把数据中的数字135换为符号A表示,246换为符号B表示,依此类推将数据中的阿拉伯数字0~9分为几类用其它符号替换。
A
leaf VBA处理比较方便。 只用EXCEL函数,感觉代价太大。

假设:B13值为9550894B14中输入=IF(ISERROR(FIND(MID($B$13,1,1),"135")),IF(ISERROR(FIND(MID($B$13,1,1),"246")),IF(ISERROR(FIND(MID($B$13,1,1),"79")),IF(ISERROR(FIND(MID($B$13,1,1),"80")),"","D"),"C"),"B"),"A")C14MID()第二个参数为2,以此类推...最后在目标单元格中输入:=CONCATENATE(B14,C14,D14,E14,F14,G14,H14)

dongmu :表一:
AB...
11234567890
2ABABABCCCD =SUBSTITUTE(A4,A$1,A$2) 说明:先列一个替换表,如表一,A4处填如数据,B4处填如上述公式=SUBSTITUTE(A4,A$1,A$2),并向右拖动9个同样的公式,最后一个便是结果.在将该10个相同的公式向下拖,便得到其它的结果.好处:可以修改表一,产生变化.
ACCESS
:你可以把全部数据拷贝到WORD中,再用替换命令,想怎么换就怎么换,然后在拷贝回来。

复制数据再转置,不复制转置被隐藏的行或列

解答:选择需要转置的单元区域,按下F5-->定位条件-->可见单元格-->复制-->选择性粘贴-->转置。

如何始终打开默认的工作表

可不可以作到每次保存工作表时,无论保存时是在哪一个
SHEET
,但是当下次再打开时,还是原来默认的那张工作表。比如SHEET1。谢谢!解答:Private Sub Workbook_Open()
Worksheets("sheet1").Activate
End Sub

如何分割文本

有一列数据,全部是邮箱的,现在想将@前面的账号与@后面的域名分割开,分为两列,如何做?解答:采用函数分割:例如:A1: name@163.com
B1:=LEFT(A1,FIND("@",A1)-1) --> name
C1:=RIGHT(A1,LEN(A1)-FIND("@",A1)) --> 163.com
或:数据-分列-分列-分隔符号-@就可以了

两列合一列

现有两列数据A列与B列,我想把B列的数据合并到A列但必须是B1单元格的数放到A1的下面,B2放到A2的下面依此类推,有什么办法呢?解答:=INDIRECT("r"&INT((ROW()+1)/2)& "c"&MOD(ROW()+1,2)+1,0)解释:
(
)EXCEL表中的列、行样式有两种:
一种标记样式为:(字段)A,B,C,D......(记录)以数值1,2,3,4,5......第一列第一行的单元格为A1另一种标记样式为(ROWCOLUMN的首位字母):(字段)R1,R2,R3,R4,R5......(记录)C1,C2,C3,C4,C5......第一列第一行的单元格为R1C1
(
)请参阅INDIRECT函数的帮助说明
!!!公式:
=INDIRECT("r"&INT((ROW()+1)/2)& "c"&MOD(ROW()+1,2)+1,0)
等同于
:
=INDIRECT("r"&INT((ROW()+1)/2)& "c"&MOD(ROW()+1,2)+1,FALSE)
(
)工具-->选项-->常规-->设置,还可选取R1C1引用样式

每次清除数据时能否作到跳过隐藏的单元格

解答:F5----定位条件----常量----确定----Del或:F5->定位条件->可见单元格->确定->DEL

也就是单击

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/604457/viewspace-997239/,如需转载,请注明出处,否则将追究法律责任。

上一篇: EXCEL问题集合
下一篇: EXCEL问题集合5
请登录后发表评论 登录
全部评论

注册时间:2009-02-04

  • 博文量
    62
  • 访问量
    336043