Excel 应用OCT2BIN、OCT2DEC或OCT2HEX函数转换八进制数

OCT2BIN函数用于将八进制数转换为二进制数,OCT2DEC函数用于将八进制数转换为十进制数,OCT2HEX函数用于将八进制数转换为十六进制数。OCT2BIN、OCT2DEC、OCT2HEX函数的表达式如下:


OCT2BIN(number,places)
OCT2DEC(number)
OCT2HEX(number,places)

其中参数number为待转换的八进制数。参数的位数不能多于10位,数字的最高位(二进制位)是符号位,其他29位是数据位。负数用二进制数的补码表示。places为所要使用的字符数。如果省略places,函数OCT2BIN和OCT2HEX用能表示此数的最少字符来表示。当需要在返回的数值前置零时,places尤其有用。

典型案例

某次数学实验需要进行八进制与其他各进制之间的数值转换。本例的原始数据如图18-10所示。

步骤1:在单元格B3中输入公式“=OCT2BIN(A3)”,用于将A3中的八进制数转换为二进制数。

步骤2:在单元格C3中输入公式“=OCT2DEC(A3)”,用于将A3中的八进制数转换为十进制数。

步骤3:在单元格D3中输入公式“=OCT2HEX(A3)”,用于将A3中的八进制数转换为十六进制数。结果如图18-11所示。

图18-10 原始数据

图18-11 计算结果

步骤4:选中“B3:D3”单元格区域,然后拖动D3单元格右下角的填充句柄,直到D12单元格,将“B3:D3”单元格区域的公式复制到“B4:D12”单元格区域中,结果如图18-12所示。因为58、59不是有效的八进制数,所以在进行转换时均返回错误值“#NUM!”。

图18-12 最终计算结果

使用指南

如果参数number为负数,函数OCT2BIN、OCT2HEX将忽略places,返回10位二进制数。对于函数OCT2BIN,如果参数number为负数,不能小于7777777000;如果参数number为正数,不能大于777。如果参数number不是有效的八进制数,函数OCT2BIN、OCT2DEC、OCT2HEX返回错误值“#NUM!”。

如果函数OCT2BIN、OCT2HEX需要比places指定的更多的位数,将返回错误值“#NUM!”。如果places不是整数,将截尾取整。如果places为非数值型,函数OCT2BIN、OCT2HEX返回错误值“#VALUE!”。如果places为负数,函数OCT2BIN、OCT2HEX返回错误值“#NUM!”。

Excel 应用HEX2BIN、HEX2DEC或HEX2OCT函数转换十六进制数

HEX2BIN函数用于将十六进制数转换为二进制数,HEX2DEC函数用于将十六进制数转换为十进制数,HEX2OCT函数用于将十六进制数转换为八进制数。HEX2BIN、HEX2DEC、HEX2OCT函数的表达式如下:


HEX2BIN(number,places)
HEX2DEC(number)
HEX2OCT(number,places)

其中参数number为待转换的十六进制数。参数的位数不能多于10位,最高位为符号位(从右算起第40个二进制位),其余39位是数字位。负数用二进制数的补码表示。Places为所要使用的字符数。如果省略places,函数HEX2BIN和HEX2OCT用能表示此数的最少字符来表示。当需要在返回的数值前置零时,places尤其有用。

典型案例

某次数学实验需要进行十六进制与其他各进制之间的数值转换。本例的原始数据如图18-7所示。

图18-7 原始数据

步骤1:在单元格B3中输入公式“=HEX2BIN(A3)”,用于将A3中的十六进制数转换为二进制数。

步骤2:在单元格C3中输入公式“=HEX2DEC(A3)”,用于将A3中的十六进制数转换为十进制数。

步骤3:在单元格D3中输入公式“=HEX2OCT(A)”,用于将A3中的十六进制数转换为八进制数。结果如图18-8所示。

步骤4:选中“B3:D3”单元格区域,然后拖动D3单元格右下角的填充句柄,直到D12单元格,将“B3:D3”单元格区域的公式复制到“B4:D12”单元格区域中,结果如图18-9所示。

图18-8 计算结果

图18-9 最终计算结果

使用指南

如果参数number为负数,则函数HEX2BIN和HEX2OCT将忽略places,返回10位二进制数。对于函数HEX2BIN,如果参数number为负数,不能小于FFFFFFFE00;如果参数number为正数,不能大于1FF。对于函数HEX2OCT,如果参数number为负数,不能小FFE0000000;如果参数number为正数,不能大于1FFFFFFF。如果参数number不是合法的十六进制数,则函数HEX2BIN、HEX2DEC、HEX2OCT返回错误值“#NUM!”。

如果HEX2BIN、HEX2OCT需要比places指定的更多的位数,将返回错误值“#NUM!”。如果places不是整数,将截尾取整。如果places为非数值型,函数HEX2BIN、HEX2OCT返回错误值“#VALUE!”。如果places为负值,函数HEX2BIN、HEX2OCT返回错误值“#NUM!”。

Excel 应用DEC2BIN、DEC2HEX或DEC2OCT函数转换十进制数

DEC2BIN函数用于将十进制数转换为二进制数,DEC2HEX函数用于将十进制数转换为十六进制数,DEC2OCT函数用于将十进制数转换为八进制数。DEC2BIN、DEC2HEX、DEC2OCT函数的表达式如下:


DEC2BIN(number,places)
DEC2HEX(number,places)
DEC2OCT(number,places)

其中参数number为待转换的十进制整数。如果参数number是负数,则省略有效位值并且DEC2BIN返回10位二进制数,该数最高位为符号位,其余9位是数字位;函数DEC2HEX返回10位十六进制数(40位二进制数),最高位为符号位,其余39位是数字位。函数DEC2OCT返回10位八进制数(30位二进制数),最高位为符号位,其余29位是数字位。负数用二进制数的补码表示。places为所要使用的字符数。如果省略places,函数DEC2BIN、DEC2HEX、DEC2OCT用能表示此数的最少字符来表示。当需要在返回的数值前置零时,places尤其有用。

典型案例

某次数学实验需要进行十进制与其他各进制之间的数值转换。本例的原始数据如图18-4所示。

图18-4 原始数据

步骤1:在单元格B3中输入公式“=DEC2BIN(A3)”,用于将A3中的十进制数转换为二进制数。

步骤2:在单元格C3中输入公式“=DEC2HEX(A3)”,用于将A3中的十进制数转换为十六进制数。

步骤3:在单元格D3中输入公式“=DEC2OCT(A3)”,用于将A3中的十进制数转换为八进制数。结果如图18-5所示。

步骤4:选中“B3:D3”单元格区域,然后拖动D3单元格右下角的填充句柄,直到D12单元格,将“B3:D3”单元格区域的公式复制到“B4:D12”单元格区域中,结果如图18-6所示。

图18-5 计算结果

图18-6 最终计算结果

使用指南

如果number<-512或number>511,函数DEC2BIN返回错误值“#NUM!”。如果number<-549755813888或者number>549755813887,则函数DEC2HEX返回错误值“#NUM!”。如果number<-536870912或者number>535870911,函数DEC2OCT将返回错误值“#NUM!”。如果参数number为非数值型,函数DEC2BIN、DEC2HEX、DEC2OCT返回错误值“#VALUE!”。如果函数DEC2BIN、DEC2HEX、DEC2OCT需要比places指定的更多的位数,将返回错误值“#NUM!”。如果places不是整数,将截尾取整。如果places为非数值型,函数DEC2BIN、DEC2HEX、DEC2OCT返回错误值“#VALUE!”。如果places为零或负值,函数DEC2BIN、DEC2HEX、DEC2OCT返回错误值“#NUM!”。

Excel 应用BIN2DEC、BIN2HEX或BIN2OCT函数转换二进制数

BIN2DEC函数用于将二进制数转换为十进制数,BIN2HEX函数用于将二进制数转换为十六进制数,BIN2OCT函数用于将二进制数转换为八进制数。BIN2DEC、BIN2HEX、BIN2OCT函数的表达式如下:


BIN2DEC(number)
BIN2HEX(number,places)
BIN2OCT(number,places)

其中参数number为待转换的二进制数。number的位数不能多于10位(二进制位),最高位为符号位,后9位为数字位。负数用二进制数的补码表示。参数places为所要使用的字符数。如果省略places,函数BIN2HEX和BIN2OCT用能表示此数的最少字符来表示。当需要在返回的数值前置零时,places尤其有用。

典型案例

某次数学实验需要进行二进制与其他各进制之间的数值转换。本例的原始数据如图18-1所示。

步骤1:在单元格B3中输入公式“=BIN2DEC(A3)”,用于将A3中的二进制数转换为十进制数。

步骤2:在单元格C3中输入公式“=BIN2HEX(A3)”,用于将A3中的二进制数转换为十六进制数。

步骤3:在单元格D3中输入公式“=BIN2OCT(A3)”,用于将A3中的二进制数转换为八进制数。结果如图18-2所示。

图18-1 原始数据

图18-2 计算结果

步骤4:选中“B3:D3”单元格区域,然后拖动D3单元格右下角的填充句柄,直到D12单元格,将“B3:D3”单元格区域的公式复制到“B4:D12”单元格区域中,结果如图18-3所示。

图18-3 最终计算结果

使用指南

如果数字为非法二进制数或位数多于10位,函数BIN2DEC、BIN2HEX和BIN2OCT返回错误值“#NUM!”。如果数字为负数,函数BIN2HEX和BIN2OCT忽略places,返回以十个字符表示的八进制数。如果函数BIN2HEX和BIN2OCT需要比places指定的更多的位数,将返回错误值“#NUM!”。如果places不是整数,将截尾取整。如果places为非数值型,函数BIN2HEX和BIN2OCT返回错误值“#VALUE!”。如果places为负值,函数BIN2HEX和BIN2OCT返回错误值“#NUM!”。

Excel 应用RECEIVED函数计算完全投资型证券在到期日收回的金额

RECEIVED函数用于计算一次性付息的有价证券到期收回的金额。RECEIVED函数的语法如下。


RECEIVED(settlement,maturity,investment,discount,basis)

其中参数settlement为证券的结算日,即在发行日之后,证券卖给购买者的日期。maturity为有价证券的到期日,即有价证券有效期截止时的日期。investment为有价证券的投资额。discount为有价证券的贴现率。basis为日计数基准类型。

典型案例

已知债券的成交日、到期日、投资额、贴现率等,计算在这些条件下债券到期收回的总金额。基础数据如图17-105所示。

步骤1:打开例子工作簿“RECEIVED.xlsx”。

步骤2:在单元格A8中输入公式“=RECEIVED(A2,A3,A4,A5,A6)”,用于计算在这些条件下债券到期收回的总金额。计算结果如图17-106所示。

图17-105 基础数据

图17-106 计算结果

使用指南

settlement、maturity和basis数值若非整数将被截尾取整。如果settlement或maturity不是合法日期,函数RECEIVED将返回错误值“#VALUE!”;如果investment≤0或discount≤0,函数RECEIVED返回错误值“#NUM!”;如果basis<0或basis>4,函数RECEIVED将返回错误值“#NUM!”;如果settlement≥maturity,函数RECEIVED将返回错误值“#NUM!”。函数RECEIVED的计算公式如下。

式中:

B为一年之中的天数,取决于年基准数。

DIM为发行日与到期日之间的天数。

Excel 应用PMT函数计算年金的定期支付金额

PMT函数用作基于固定利率及等额分期付款方式,计算贷款的每期付款额。PMT函数的语法如下。


PMT(rate,nper,pv,fv,type)

其中参数rate为贷款利率。nper为该项贷款的付款总数。pv为现值,或一系列未来付款的当前值的累积和,也称为本金。fv为未来值,或在最后一次付款后希望得到的现金余额,如果省略fv,则假设其值为零,也就是一笔贷款的未来值为零。type为数字0或1,用以指定各期的付款时间是在期初还是期末。

典型案例

已知储蓄存款的年利率、计划储蓄的年数、18年内计划储蓄的数额,计算为18年后最终得到70,000,每个月应存的数额。基础数据如图17-103所示。

图17-103 基础数据

步骤1:打开例子工作簿“PMT.xlsx”。

步骤2:在单元格A6中输入公式“=PMT(A2/12,A3*12,0,A4)”,用于计算为18年后最终得到70,000,每个月应存的数额。计算结果如图17-104所示。

图17-104 计算结果

使用指南

PMT返回的支付款项包括本金和利息,但不包括税款、保留支付或某些与贷款有关的费用。应确认所指定的rate和nper单位的一致性。例如,同样是四年期年利率为12%的贷款,如果按月支付,rate应为12%/12,nper应为4*12;如果按年支付,rate应为12%,nper为4。如果要计算贷款期间的支付总额,则需要用PMT返回值乘以nper。

Excel 应用NPER函数计算投资的期数

NPER函数用作基于固定利率及等额分期付款方式计算某项投资的总期数。NPER函数的语法如下。


NPER(rate,pmt,pv,fv,type)

其中参数rate为各期利率。pmt为各期所应支付的金额,其数值在整个年金期间保持不变。通常,pmt包括本金和利息,但不包括其他费用或税款。pv为现值,或一系列未来付款的当前值的累积和。fv为未来值,或在最后一次付款后希望得到的现金余额。如果省略fv,则假设其值为零(例如,一笔贷款的未来值即为零)。type为数字0或1,用以指定各期的付款时间是在期初还是期末。

典型案例】已知某项投资的年利率、各期所付的金额、现值、未来值等信息,计算在这些条件下的总期数。基础数据如图17-101所示。

步骤1:打开例子工作簿“NPER.xlsx”。

步骤2:在单元格A8中输入公式“=NPER(A2/12,A3,A4,A5,1)”,用于计算在上述条件下投资的总期数。

步骤3:在单元格A9中输入公式“=NPER(A2/12,A3,A4,A5)”,用于计算在上述条件下投资的总期数(不包括在期初的支付)。

步骤4:在单元格A10中输入公式“=NPER(A2/12,A3,A4)”,用于计算在上述条件下投资的总期数(不包括未来值0)。计算结果如图17-102所示。

图17-101 基础数据

图17-102 计算结果

Excel 应用MDURATION函数计算面值为¥100的有价证券Macauley修正期限

MDURATION函数用于计算假设面值为¥100的有价证券的Macauley修正期限。MDURATION函数的语法如下。


MDURATION(settlement,maturity,coupon,yld,frequency,basis)

其中参数settlement为证券的结算日,即在发行日之后,证券卖给购买者的日期。maturity为有价证券的到期日,即有价证券有效期截止时的日期。coupon为有价证券的年息票利率。yld为有价证券的年收益率。frequency为年付息次数。如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis为日计数基准类型。

典型案例

已知债券的结算日、到期日、息票利率、收益率等信息,计算在这些条件下的债券的修正期限。基础数据如图17-99所示。

步骤1:打开例子工作簿“MDURATION.xlsx”。

步骤2:在单元格A9中输入公式“=MDURATION(A2,A3,A4,A5,A6,A7)”,用于计算在上述条件下债券的修正期限。计算结果如图17-100所示。

图17-99 基础数据

图17-100 计算结果

使用指南

settlement、maturity、frequency和basis数值若非整数将被截尾取整。如果settlement或maturity不是合法日期,函数MDURATION返回错误值“#VALUE!”;如果yld<0或coupon<0,函数MDURATION返回错误值“#NUM!”;如果frequency不是数字1、2或4,函数MDURATION返回错误值“#NUM!”;如果basis<0或basis>4,函数MDURATION返回错误值“#NUM!”;如果settlement≥maturity,函数MDURATION返回错误值“#NUM!”。修正期限的计算公式如下。

Excle 应用DURATION函数计算定期支付利息的证券的每年期限

DURATION函数用于计算假设面值¥100的定期付息有价证券的修正期限。期限定义为一系列现金流现值的加权平均值,用于计量债券价格对于收益率变化的敏感程度。DURATION函数的语法如下。


DURATION(number1,number2,...)

其中参数settlement为证券的结算日,即在发行日之后,证券卖给购买者的日期。maturity为有价证券的到期日,即有价证券有效期截止时的日期。coupon为有价证券的年息票利率。yld为有价证券的年收益率。frequency为年付息次数。如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis为日计数基准类型。

典型案例

已知有价证券的结算日、到期日、息票利率、收益率等信息,计算在上述条件下有价证券的修正期限。基础数据如图17-97所示。

步骤1:打开例子工作簿“DURATION.xlsx”。

步骤2:在单元格A9中输入公式“=DURATION(A2,A3,A4,A5,A6,A7)”,用于计算在上述条件下有价证券的修正期限。计算结果如图17-98所示。

图17-97 基础数据

图17-98 计算结果

使用指南

settlement、maturity、frequency和basis数值若非整数将被截尾取整。如果settlement或maturity不是合法日期,函数DURATION返回错误值“#VALUE!”;如果coupon<0或yld<0,函数DURATION返回错误值“#NUM!”;如果frequency不是数字1、2或4,函数DURATION返回错误值“#NUM!”;如果basis<0或basis>4,函数DURATION返回错误值“#NUM!”;如果settlement≥maturity,函数DURATION返回错误值“#NUM!”。

Excel 应用PV函数计算投资的现值

PV函数用于计算投资的现值。现值为一系列未来付款的当前值的累积和。例如,借入方的借入款即为贷出方贷款的现值。PV函数的语法如下。


PV(rate,nper,pmt,fv,type)

其中参数rate为各期利率。例如,如果按10%的年利率借入一笔贷款来购买汽车,并按月偿还贷款,则月利率为10%/12(即0.83%)。可以在公式中输入10%/12、0.83%或0.0083作为rate的值。

nper为总投资期,即该项投资的付款期总数。例如,对于一笔四年期按月偿还的汽车贷款,共有4×12(即48)个偿款期数。可以在公式中输入48作为nper的值。

pmt为各期所应支付的金额,其数值在整个年金期间保持不变。通常,pmt包括本金和利息,但不包括其他费用或税款。例如,¥10,000的年利率为12%的四年期汽车贷款的月偿还额为¥263.33。可以在公式中输入-263.33作为pmt的值。如果忽略pmt,则必须包含fv参数。

fv为未来值,或在最后一次支付后希望得到的现金余额,如果省略fv,则假设其值为零(例如,一笔贷款的未来值即为零)。例如,如果需要在18年后支付¥50,000,则¥50,000就是未来值。可以根据保守估计的利率来决定每月的存款额。如果忽略fv,则必须包含pmt参数。

type为数字0或1,用以指定各期的付款时间是在期初还是期末。

典型案例

已知每月底一项保险年金的支出、投资收益率、付款的年限,计算在这些条件下年金的现值。基础数据如图17-95所示。

步骤1:打开例子工作簿“PV.xlsx”。

步骤2:在单元格A6中输入公式“=PV(A3/12,12*A4,A2,,0)”,用于计算在上述条件下年金的现值。计算结果如图17-96所示。

图17-95 基础数据

图17-96 计算结果

使用指南

应确认所指定的rate和nper单位的一致性。例如,同样是四年期年利率为12%的贷款,如果按月支付,rate应为12%/12,nper应为4*12;如果按年支付,rate应为12%,nper为4。以下函数应用于年金:CUMIPMT、PPMT、CUMPRINC、PVFV、RATE、FVSCHEDULE、XIRR、IPMT、XNPV、PMT。

年金是在一段连续期间内的一系列固定的现金付款。例如汽车贷款或购房贷款就是年金。在年金函数中,支出的款项,如银行存款,表示为负数;收入的款项,如股息收入,表示为正数。例如,对于储户来说,¥1000银行存款可表示为参数-1,000,而对于银行来说该参数为1,000。

下面列出的是Excel进行财务运算的公式,如果rate不为0,则:

如果rate为0,则: