RSS
热门关键字:  计算机有关资料  word  33252  函数  MKV_NT
当前位置 : 主页>办公技巧>excel>列表

Excel电子表格运用技巧汇总

来源:微软中文技术社区 作者: 时间:2007-02-01 点击:
从身份证号码中提取性别
Q:A1单元格中是15位的身份证号码,要在B1中显示性别(这里忽略15位和18位身份证号码的判别)
B1=if(mod(right(A1,1),2)>0,"male","female")
请问这个公式有无问题,我试过没发现问题。但在某个网站看到作者所用的是如下公式:
B1=if(mid(A1,15,1)/2=trunc(mid(A1,15,1)/2),"female","male")

A:leaf
道理都是一样的,不过你的公式比那个公式优质

提取性别(无论是15位还是18位)
=IF(LEN(A1)=15,IF(MOD(MID(A1,15,1),2)=1,"男","女"),IF(MOD(MID(A1,17,1),2)=1,"男","女"

如果身份证号的输入已是15或18位,用公式
=IF(MOD(LEFT(RIGHT(A1,(LEN(A1)=18)+1)),2),"男","女"

xls--->exe可以么?
A:Kevin
如果只是简单的转换成EXE,当然可以。
如果你指的是脱离Excel也可以运行,好像没听说过可以。
当然,通过DDE,是可以不运行Excel但调用它的所有功能的,但前提仍然是你的计算机上已经安装了Excel

列的跳跃求和
Q:若有20列(只有一行),需没间隔3列求和,该公式如何做?
前面行跳跃求和的公式不管用。
A:roof
假设a1至t1为数据(共有20列),在任意单元格中输入公式:=SUM(IF(MOD(TRANSPOSE(ROW(1:20)),3)=0,(a1:t1))
按ctrl+shift+enter结束即可求出每隔三行之和。
跳行设置:如有12行,需每隔3行求和
=SUM(IF(MOD((ROW(1:12)),3)=0,(A1:A12)))

能否象打支票软件那样输入一串数字它自动给拆分成单个数字?
Q:如我输入123456.52它自动给拆成¥1 2 3 4 5 6 5 2 的形式并且随我输入的长度改变而改变?
A:Chiu
我所知函数不多,我是这样做的,如有更方便的方法,请指点
例如:
在A1输入小写金额,则:
千万:B1=IF(A1>=10000000,MID(RIGHTB(A1*100,10),1,1),IF(A1>=1000000,"¥",0))
百万:C1=IF(A1>=1000000,MID(RIGHTB(A1*100,9),1,1),IF(A1>=100000,"¥",0))
十万:D1=IF(A1>=100000,MID(RIGHTB(A1*100,8),1,1),IF(A1>=10000,"¥",0))
万:E1=IF(A1>=10000,MID(RIGHTB(A1*100,7),1,1),IF(A1>=1000,"¥",0))
千:F1=IF(A1>=1000,MID(RIGHTB(A1*100,6),1,1),IF(A1>=100,"¥",0))
百:G1=IF(A1>=100,MID(RIGHTB(A1*100,5),1,1),IF(A1>=10,"¥",0))
十:H1=IF(A1>=10,MID(RIGHTB(A1*100,4),1,1),IF(A1>=1,"¥",0))
元:I1=IF(A1>=1,MID(RIGHTB(A1*100,3),1,1),IF(A1>=0.1,"¥",0))
角:J1=IF(A1>=0.1,MID(RIGHTB(A1*100,2),1,1),IF(A1>=0.01,"¥",0))
分:K1=IF(A1>=0.01,RIGHTB(A1*100,1),0)
网客
公式中最后一个0改为""

如何编这个公式
Q:我想编的公式是: a/[84 - (b×4)]
其中a是一个数值,小于或等于84;b是包含字符C的单元格的个数;C是一个符号。
这个公式的关键是要统计出包含字符C的单元格的个数,可我不会。
A:dongmu
=a/(84-countif(b,"=c")*4)
chwd
我试了一下,不能运行,我想是因为没有指定出现“c”的单元格的范围。比如说“c”在D2-D30中随机出现,在上述公式中要先统计出出现“c”的单元格的个数。这个公式如何做?
再一次感谢!
受dongmu朋友公式的启发,我做出了需要的公式
=a/(84-COUNTIF(D3:D30,"c")*4)
skysea575 :其中a是一个数值,小于或等于84;b是包含字符C的单元格的个数;C是一个符号。
"包含字符C"在这里的意思不清楚。你的公式中只可以计算仅含有“C”字符的单元格数。
可能你的想法是计算字符中凡是含有这个字或字母的词。如“文章”和“文字”中都有一个“文”字,是否计算在内?

将文件保存为以某一单元格中的值为文件名的宏怎么写
A:lxxiu
假设你要以Sheet1的A1单元格中的值为文件名保存,则应用命令:
ActiveWorkbook.SaveCopyAs Str(Range("Sheet1!A1")) + ".xls"

IE中实现链接EXCEL表
Q:我想在IE中实现链接EXCEL表并打开后可填写数据,而且可以实现数据的远程保存(在局域网内的数据共享更新),我的设想是在NT中上提供电子表格服务, 各位局域网内用户在IE浏览器中共享修改数据,请问我该如何操作才能实现这一功能。我是初学者,请尽量讲得详细一点。
A:老夏
<a href="C:\mm.xls" target="x"> mm.xls</a>
<a href="" target="x">桌面</a>
<iframe name="x" width=780 height=400></iframe>

**************************************************************
貼到計事本- 存為Home.htm擺桌面上- 設為共享- 區域網路其他電腦設捷徑連結Home.htm
懂這三行字的結構,即可寫出網頁資料庫系統
其中每個字都是[物件名稱]
檔案多了改用<Frame>這個元件
要設幾個框隨便您

EXCEL中求两陈列的对应元素乘积之和
Q:即有简结一点的公式求如:a1*b1+a2*b2+b3*b3...的和.应有一函数XXXX(A1:A3,B1:B3)或XXXX(A1:B3)
A:roof
在B4中输入公式"=SUM(A1:A3*B1:B3)",按CTRL+SHIFT+ENTER结束.
dongmu
=SUMPRODUCT(A1:A10,B1:B10)

求助日期转换星期的问题
Q:工作中须将表格中大量的日期同时转换为中英文的星期几
请问如何处理英文的星期转换,谢谢!
A:Rowen
1.用公式:=text(weekday(xx),"ddd")
2.用VBA,weekday(),然后自定义转换序列
3.用"拼写检查",自定义一级转换序列
4....
dongmu
转成英文: =TEXT(WEEKDAY(A1),"dddd")
转成中文: =TEXT(WEEKDAY(A1),"aaaa")

研究彩票,从统计入手
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
这个数列有几千组,只要求比较出有几位相同就行。
我们主要研究彩票,从统计入手。如果你有兴趣我会告诉你最好的方法。急盼。

A:roof
把“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))

如何自动设置页尾线条?
Q:
各位大虾:菜鸟DD有一难题请教, 我的工作表通常都很长,偏偏我这人以特爱美,所以会将表格的外框线和框内线条设置为不同格式,但在打印时却无法将每一页的底部外框线自动设为和其他三条边线一致,每次都必须手工设置(那可是几十页哦!),而且如果换一台打印机的话就会前功尽弃,不知哪位大侠可指教一两招,好让DD我终生受用,不胜感激!
A:roof
打印文件前试试运行以下的代码。打印后关闭文件时不要存盘,否则下次要把格式改回来就痛苦了。(当然你也可以另写代码来恢复原来的格式):
Sub detectbreak()

mycolumn = Range("A1").CurrentRegion.Columns.Count
Set myrange = Range("A1").CurrentRegion
For Each mycell In myrange
Set myrow = mycell.EntireRow
If myrow.PageBreak = xlNone Then
GoTo Nex
Else
Set arow = Range(Cells(myrow.Offset(-1).Row, 1), Cells(myrow.Offset(-1).Row, mycolumn))

With arow.Borders(xlEdgeBottom)
.LineStyle = xlDouble '把这一行改成自己喜欢的表线
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
End If
Nex: Next mycell

End Sub

求工齡
A:老夏
=DATEDIF(B2,TODAY(),"y")
=DATEDIF(B2,TODAY(),"ym")
=DATEDIF(B2,TODAY(),"md")
=DATEDIF(B2,TODAY(),"y")&"年"&DATEDIF(B2,TODAY(),"ym")&"月"&DATEDIF(B2,TODAY(),"md")&"日"
********************************************************
DATEDIF() Excel 2000 可以找到說明 Excel 97 沒有說明 是個暗槓函數

如何用excel求解联立方程:
Q:x-x(7/y)^z=68  x-x(20/y)^z=61  x-x(30/y)^z=38
到底有人会吗?不要只写四个字,规划求解,我想要具体的解法,
A:wenou
这是一个指数函数的联列方程。步骤如下
1、令X/Y=W 则有 X-(7W)^z=68  X-(20W)^Z=61  X-(30W)^Z=38
2、消去X
(20^Z-7^Z)W^Z=7  (30^Z-20^Z)W^Z=23
3、消去W
(30^Z-20^Z)/(20^Z-7^Z)=23/7
由此求得Z=3.542899 x=68.173955 y=781.81960

行高和列宽单位是什么? 如何换算到毫米?
A:markxg
在帮助中:
“出现在“标准列宽”框中的数字是单元格中 0-9 号标准字体的平均数。”
单位应该不是毫米,可能和不同电脑的字体有关吧。
Q:Rowen
是这样:
行高/3=mm 列宽*2.97=mm
鱼之乐
实际上最终打印结果是以点阵为单位的,而且excel中还随着打印比例的变化而变化

如果想用宏写一个完全退出EXCEL的函数是什么?
Q:因为我想在关闭lock.frm窗口时就自动退出EXCEL,请问用宏写一个完全退出EXCEL的函数是什么?多谢!
A:Application.quit

请问如何编写加载宏?
把带有VBA工程的工作簿保存为XLA文件即可成为加载宏。
请问如何在点击一个复选框后在后面的一个单元格内自动显示当前日期?
如果是单元格用"=TODAY()"就可以了
如果是文本框在默认属性中设置或在复选框的CLICK中设置文本框的内容

EXCEL2000中视面管理器如何具体运用呀?
请问高手EXCEL2000中视面管理器如何具体运用呀?最好有例子和详细说明。明确的功能。不然我还是不能深刻的理解他。
markxg
其实很简单呀,你把它想象成运动场上的一串照片(记录不同时点的场景),一张照片记录一个场景,选择一张照片就把运动“拖”到照片上的时点。不同的是只是场景回复,而值和格式不回复。

用VBA在自定义菜单中如何仿EXCEL的菜单做白色横线?
Q:我在做自定义菜单时,欲仿EXCEL菜单用横线分隔各菜单项目,用VBA如何才能做到?
A:Rowen
那个东东也是一个部件,我想可以调用,不过没试过.
diyee
把它的显示内容中设置为"-"即可。
simen
1.此部件叫什么名字,在控件箱里有吗?
2.用“-”我也试过,用它时单击可以,但你要知道EXCEL自己的横线是不可以单击下去的
kevin_168
object.BeginGroup = True
下面是我用到的代码:
Set mymenubar = CommandBars.ActiveMenuBar
Set newmenu1 = mymenubar.Controls.Add(Type:=msoControlPopup, _
Temporary:=True)
newmenu1.Caption = "文件制作(&M)"
newmenu1.BeginGroup = True '这就是你要的白色横线
simen
你知道在窗体中也有这样的分隔线的如何实现呢?
kevin_168
这,我可没有试过,不过我做的时候使用一LABEL将其设为 能否在取消“运行宏”时并不打开其它工作表!
Q:我看见有些模块(高手给的)能够在取消“运行宏”时并不打开其它工作表!不知是何办法? 但当你启动宏后,工作表才被打开!这种方法是什么?
A:Rowen
这些工作表预先都是隐藏的,必须用宏命令打开,所以取消宏的情况下是看不到的.可以打开VBA编辑器,在工作表的属性窗口中将其Visible 设为xlSheetVisible
立体,看起来也够美观的,不妨一试.象版主所说的多查帮助文件,对你有帮助.

如何去掉单元格中间两个以上的空格?
Q:单元格A1中有“中  心  是”,如果用TRIM则变成“中 心 是”,我想将空格全去掉,用什么办法,请指教!!
A:用SUBSTITUDE()函数,多少空格都能去掉。如A1中有:中 心 是 则在B1中使用=SUBSTITUTE(A1," ","")就可以了。注意:公式中的第一个“ ”中间要有一个空格,而第二个“”中是无空格的。

打印表头?
Q:在Excel中如何实现一个表头打印在多页上?
打印表尾?
A:BY dongmu
请选择文件-页面设置-工作表-打印标题-顶端标题行,然后选择你要打印的行。
打印表尾?
通过Excel直接提供的功能应该是无法实现的,需要用vba编制才行。

提取性别(无论是15位还是18位)
=IF(LEN(A1)=15,IF(MOD(MID(A1,15,1),2)=1,"男","女"),IF(MOD(MID(A1,17,1),2)=1,"男","女"))

如果身份证号的输入已是15或18位,用公式
=IF(MOD(LEFT(RIGHT(A1,(LEN(A1)=18)+1)),2),"男","女")

如何把这26个表格汇总求和成一个汇总表
A:
ACCESS
数据--合并计算///来解决。


鱼之乐
看来有很多朋友有这个方面的需求,说明这是个共性问题,于是我利用access+excel做了一个汇总查询模板,如果您需要可来mail我发给你 0710@963.net


excelhelp
假設匯總的工作表叫Sheet1,而存放資料的工作表叫Sheet2, Sheet3, ..., Sheet27,你可以這樣設置公式,把各工作表A1的數值加起來:
  =SUM(Sheet2:Sheet27!A1)
要注意的是,Sheet1不能在Sheet2和Sheet27中間,Excel不會管工作表的名字,只會把Sheet2和Sheet27中間的*所有*工作表中相關的儲存格(哪怕中間有一個工作表叫Sheet99)加起來。

葡萄
excelhelp的方案是正确的
1、在汇总表单元格内选择“Σ”
2、选择需要叠加的第一个工作表
3、按住shift同时用鼠标选择需要叠加的最后一个工作表
4、选择需要叠加的单元格
5、Enter

实现验证先进先出法,
Q:
我做了一个验证先进先出法的表格,但想不出简洁的公式,请各位帮我改进以下公式
********************************************************
=IF(B3<C1,IF(SUM(B3:B4)<C1,IF(SUM(B3:B5)<C1,IF(SUM(B3:B6)<B1,IF(SUM(B3:B7)<C1,"out of range",(B3*C3+B4*C4+B5*C5+B6*C6+(C1-SUM(B3:B6))*C7)/C1),(B3*C3+B4*C4+B5*C5+(C1-SUM(B3:B5))*C6)/C1),(B3*C3+B4*C4+(C1-SUM(B3:B4))*C5)/C1),(B3*C3+(C1-B3)*C4)/C1),C4)

B3至B7为输入数量,C3至C7为输入单价,C1为输入结余数量,E1为输出平均单价,即上面公式
**********************************************************

A:
markxg
公式太复杂,而且受限制。

把A列利用起来,a3=SUM(B3:$B$7),拖至7行(若为X行,则=SUM(B3:$B$X,下拖),A列数据为先进先出的累计数量(待Match的结存数量),=MATCH(C1,A3:A7,-1)找到结存批次。然后计算结存平均单价及发出平均单价。

产生随机数
A.
C1=INT(RAND()*100)+1
按F9鍵不放----1~100數字在亂跳

B.
Sub Macro1()
[C1].Select
Selection.Copy
[A1].Select
Selection.PasteSpecial Paste:=xlValues
End Sub

C.
選C1>>格式>>自定>>;;;>>確定

D.繪圖層作個美美的圖當按鈕>>右鍵>>指定宏>>選Macro1>>確定

**********************************************************
還是三層式結構
按鈕當操控介面
步驟A,步驟B,是中間層元件,負責轉換

Execl中繁简互换
Q:
有EXCEL2000中有没有像WORD2000中的繁简互换功能一样的东东呀?在这里谢过了。

A:
Rowen
XP 中可以,我曾用过,后来删了.
需安装"微软拼音输入法 3.0",并启用"高级语言服务".
工具->语音 中有选项的.


能否象打支票软件那样输入一串数字它自动给拆分成单个数字?
Q:
如我输入123456.52它自动给拆成¥1 2 3 4 5 6 5 2 的形式并且随我输入的长度改变而改变?

A:
Chiu
我所知函数不多,我是这样做的,如有更方便的方法,请指点
例如:
在A1输入小写金额,则:
千万:B1=IF(A1>=10000000,MID(RIGHTB(A1*100,10),1,1),IF(A1>=1000000,"¥",0))
百万:C1=IF(A1>=1000000,MID(RIGHTB(A1*100,9),1,1),IF(A1>=100000,"¥",0))
十万:D1=IF(A1>=100000,MID(RIGHTB(A1*100,8),1,1),IF(A1>=10000,"¥",0))
万:E1=IF(A1>=10000,MID(RIGHTB(A1*100,7),1,1),IF(A1>=1000,"¥",0))
千:F1=IF(A1>=1000,MID(RIGHTB(A1*100,6),1,1),IF(A1>=100,"¥",0))
百:G1=IF(A1>=100,MID(RIGHTB(A1*100,5),1,1),IF(A1>=10,"¥",0))
十:H1=IF(A1>=10,MID(RIGHTB(A1*100,4),1,1),IF(A1>=1,"¥",0))
元:I1=IF(A1>=1,MID(RIGHTB(A1*100,3),1,1),IF(A1>=0.1,"¥",0))
角:J1=IF(A1>=0.1,MID(RIGHTB(A1*100,2),1,1),IF(A1>=0.01,"¥",0))
分:K1=IF(A1>=0.01,RIGHTB(A1*100,1),0)

网客
公式中最后一个0改为""


如下方法是否能够达到所要求的:
      在A1输入小写金额,则B1为所要求的

       B1=WIDECHAR(A1*100)                将单字节字符转换为双字节字符
  或
       B1=WIDECHAR(TEXT(A1*100,"¥#"))






officeXP提供了这样的服务
office2002中提供了繁简互换功能,可以到以下网址下载,officeXP的所有程序都可以用
http://office.microsoft.com/offi ... igin=EC790020112052

要去掉其中两个最大值和两个最小值,不知道怎样运用公式
Q:
我要将一行数据进行处理。要去掉其中两个最大值和两个最小值,不知道怎样运用公式,请帮助。

A:
Rowen
可参阅:large() 及 Small() 函数

simen
在excel中用max() 和 min()也可,

Rowen
我想先排序,再去头尾应更实用些.

markxg
是个办法,不过次序打乱了。
最简单的就用MAX()和MIN()工作表函数,也不用编程,帮助里讲的很明白。


------
另设的二个数据列,在其中一个数据列中对应的单元格中加入带MIN,MIX的IF判断语句,即如果MAX或MIN得出的结果与源数据相符则,显示为空,如此这样在另一列中在做一次相同的公式即可将源数据转化为你所要求的数据列。
----------
以a1~a50为例
=sum(a1:a50)-max(a1:a50)-min(a1:a50)

应该是:
=SUM(A1:A50)-MAX(A1:A50)-LARGE(A1:A50,2)-MIN(A1:A50)-SMALL(A1:A50,2)  


这个只能减去1个最大和1个最小值,不符合楼主的题意。也可用下面的公式。

=SUM(A1:A20)-SUM(LARGE(A1:A20,{1,2}))-SUM(SMALL(A1:A20,{1,2}))


C1、C2、C3、C4中的公式如何设置?
Q:
前日本人提出如下一个问题请诸位大虾帮助指点迷津。
  如下表:
   A   B     C
 1 50  采购  (采购汇总)
 2 60  工程  (工程汇总)
 3 80  工资  (工资汇总)
 4 100  税   (税汇总)
 5 70  采购  
 6 50  工资  
 7 60  工程
 . . .
 . . .
 请问:C1、C2、C3、C4中的公式如何设置?
 可能本人没有说清楚,实际上C1、C2、C3、C4是B列的采购合计数、工程汇合计数、工资合计数等,这里烦请诸位高手再指迷津。

A:
dick
C1={SUM(IF(MOD(ROW(data),4)=1,data))}
C2={SUM(IF(MOD(ROW(data),4)=2,data))}
C3={SUM(IF(MOD(ROW(data),4)=3,data))}
C4={SUM(IF(MOD(ROW(data),4)=0,data))}
使用陣列公式
data:為資料範圍


dongmu
无需数组公式:
sumif(条件区域,条件,求和区域)
c1=sumif(b1:b7,"采购",a1:a7)
c2=sumif(b1:b7,"工程",a1:a7)
c3=sumif(b1:b7,"工资",a1:a7)
c4=sumif(b1:b7,"税",a1:a7)


取满足条件的记录行
Q:
有一张表,有很多行记录,想通过另外一个表,取满足条件的记录,且不留空行的反映出满足条件 的记录。

A:
wenou
在某一空列对每条记录进行判断,符合要求输入该行的行数否则为零,然后用函数。


hxq
你的意思是:
先在这个表中增加一个空列,将符合条件的记录按反映在另张表的行号数字显示,再在另张表上用上IF(),只要ROW()与空列的行号数相等就取这条记录,同时用到了VLOOKUP()。
我试一下,THANK YOU


roof
不需要用公式,用菜单中的"数据-->筛选-->高级筛选"会更快些."高级筛选"允许将符合条件的数据行(可以忽略重复行)复制到另一工作表.


hxq
难道用一次,就要高级自选一次,我是想固定两个表,后一个表是通的前一个表生成的,但是取前个表符合条件的行的数据,且如果前个表,是1,3 记录 符合条件,我后一个表是中间不断行的显示。


wenou
用index()函数,它有3个参数,第1个参数是源数据矩阵,第2个参数为已筛选出的行数,第3个参数为要从源数据矩阵提取数据所在的列数


hxq
你的方法简单易懂,还有对满足条件的行数如何确定是否可在第二个叁数地方用其它的函数.


wenou
除非要筛选的行是特定的行,如偶数行,可用MOD函数作为INDEX函数的行参数,如要筛选的行在行数上是无规律的,则必须在某一空列如E列用IF函数来判断,符合要求的赋值该行的行数否则为零。这样可用LARGE(E:E,ROW(A1))作为第2个参数

共9页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] 9 下一页
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册