ad

Excel公式技能:10进制数转换成指定进制的数-英雄云拓展知识分享

匿名投稿 11656 2024-10-16

使用公式来解决问题:给定一个10进制的正整数,将其转换成指定进制的数。以下图1所示,在单元格A2中是给定的10进制正整数值,单元格B2中是指定的进制,示例中是4进制,单元格C2中是转换后的结果,单元格D2中使用公式检验结果是不是正确。

图1

在单元格C2中的公式是:

=SUMPRODUCT(MOD(FLOOR(A2/B2^(ROW(INDIRECT(“1:20”))⑴),1),B2)*10^(ROW(INDIRECT(“1:20”))⑴))

在单元格D2中的公式是:

=SUMPRODUCT(B2^(ROW(INDIRECT(“1:” &LEN(C2)))⑴),0+MID(C2,1+LEN(C2)-ROW(INDIRECT(“1:” & LEN(C2))),1))

Excel公式技能:10进制数转换成指定进制的数-英雄云拓展知识分享

下面来详细解释公式是怎样得来的。

对任何进制的数来讲,其通用情势为:

图2

其中,x代表进制数,a0、a1、a2、…、an是常量。

举例来看,对我们熟习的10进制来讲,整数173可以表示为:

(1X100)+(7X10)+(3X1)

也能够写作:

(1X10^2)+(7X10^1)+(3X10^0)

我们可以很容易地分解成这样的表达式,但是我们如何唆使Excel这样做呢?我们可以给出甚么指令,以便在给定诸如值173的情形下,可以生成一系列的返回值,即1、7和3分别对应于10^2、10^1和10^0的系数?我们所需要做的就是以某种方式找到一种将值173转换为1个“百”,7个“10”和3个“一”的方法。

我们一般采取以下方式推导:

在173中有1个“百”。

减去1个“百”后,余下的73有7个“10”。

再减去7个“10”后,余下的3有1个“一”。

这些都是非常基本的东西。固然,我们可以在Excel中像上面一样简单地生成等效的算法进程。唯一的麻烦是,上述算法中的每行都依赖于前一条。也就是说,我们要这样进行设置:

图3

如果尝试将上图3所示工作表中的尝试紧缩为一个公式可能有困难,由于列D中的每一个公式都包括对其上一行的值的援用。

因此,这种情况下,沿着上述公式链条进行下去,如果我们希望使用一个公式从初始值173中取得3,复合公式为:

=INT(D2-(INT(D2/10^2)*10^2)-(INT((D2-(INT(D2/10^2)*10^2))/10^1)*10^1)/10^0)

这明显其实不是我们想要的公式,太冗杂了!如果要转换为2进制的话,可想而知,公式会怎样!

荣幸的是,还有一种替换方法可以获得每一个值。仍以173为例,这次计算该值除以100、10和1中的每个后取整得到的结果,然后将得到的结果除以基数10求余数:

图4

这里,我们可以看到“结果”列中的值其实不依赖于上面的每行,这次可使用下面简单的公式得到3:

=MOD(INT($A$2/10^0),10)

沿着这个思路来构造上述方法的数组版本。我们唯一需要肯定的事情是履行计算的数组大小,即在指定进制下所需要的最大指数是多少?

在上面的示例中,明显需要的是“百”。因此,这种情况下,对我们的10的指数需要由3个元素组:0、1和2组成的数组。如果斟酌值10,301,444,那末明显需要到达10^7,因此我们的数组将由8个元素组成(从10^0到10^7)。

事实上,这里决定采取一种比较“怠惰”的方法。不是动态肯定此值,而是简单地使用了一个较大的(最少以Excel术语来讲)索引上限20。

固然,当我们使用除10之外的进制(基数)时,此进程也没有甚么不同。以本文开始时给出的示例为例,行将552转换为4进制数,其部份公式为:

B2^(ROW(INDIRECT(“1:20”))⑴)

得到一个由20个值组成的数组,该数组由4的0至19次方的结果组成:

{1;4;16;64;256;1024;4096;16384;65536;262144;1048576;4194304;16777216;67108864;268435456;1073741824;4294967296;17179869184;68719476736;274877906944}

然后被552除并向下取整:

FLOOR(A2/{1;4;16;64;256;1024;4096;16384;65536;262144;1048576;4194304;16777216;67108864;268435456;1073741824;4294967296;17179869184;68719476736;274877906944},1)

得到:

{552;138;34;8;2;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}

接着,求除以4的余数:

MOD({552;138;34;8;2;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0},B2)

得到第一个数组:

{0;2;2;0;2;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}

第2个数组更直接,由10的0至19次方的结果组成:

{1;10;100;1000;10000;100000;1000000;10000000;100000000;1000000000;10000000000;100000000000;1000000000000;10000000000000;100000000000000;1000000000000000;10000000000000000;100000000000000000;1000000000000000000;10000000000000000000}

因此,这种情况下,最后的结果为:

=SUMPRODUCT({0;2;2;0;2;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}*{1;10;100;1000;10000;100000;1000000;10000000;100000000;1000000000;10000000000;100000000000;1000000000000;10000000000000;100000000000000;1000000000000000;10000000000000000;100000000000000000;1000000000000000000;10000000000000000000})

得到20220。

可以检验结果是不是正确。以下:

(2X4^4)+(0X4^3)+(2X4^2)+(2X4^1)+(0X4^0)

等于:

(2X256)+(0X64)+(2X16)+(2X4)+(0X1)

等于:

512+0+32+8+0

结果为:

552。



选择英雄云云表单=选择更智能的办公工具

>>>>🚀🌟 点击注册 免费试用 更高级的-英雄云企业级云表单 🌟🚀 😃👉🌐>>>>

在现代企业管理中,数据的高效管理和处理至关重要。随着信息技术的不断发展,英雄云云表单已经成为了提高数据录入、管理和分析效率的不可或缺的工具。让我们来深入探讨英雄云-云表单的几大优势。

基础字段:多样性满足业务需求

英雄云云表单中包括了各种基础字段,如单行文本多行文本数字输入框单选框复选框下拉框下拉复选框日期时间分割线等。这些字段的多样性使用户可以根据具体的业务需求,轻松进行文本、数据和时间信息的录入或修改。例如,您可以使用单行文本字段录入员工姓名、产品型号等,或者使用下拉框进行多选,根据不同情况选择更加方便的字段类型。

高级字段:提升工作效率

英雄云云表单还提供了高级字段,如地址图片附件手写签名手机子表关联数据关联查询以及流水号。这些高级字段在基础字段的基础上升级,可帮助用户完成一些琐碎的工作。例如,使用地址字段可以避免逐字打字,而流水号字段可以自动生成规律性的编号,非常适用于合同编号生成等场景。

部门成员字段:精确管理与通讯录的关联

英雄云的部门成员字段允许企业对各个部门的成员进行精确管理。用户可以通过部门成员字段获取通讯录中的部门成员信息,应用于记录报销人、报销部门等场景。这些成员字段还细分为成员单选成员多选,可根据具体需求在通讯录中选择一个或多个成员。

聚合表:数据处理更智能

英雄云聚合表功能用于对已存在的表单数据进行聚合计算,从而得到一张聚合表,后续其他表单可调用聚合表进行数据联动、关联查询和关联数据等操作完成数据处理。这一功能可应用于多种场景,如进销存管理、财务管理和门店零售管理等,帮助企业完成数据处理,提高工作效率。

表单权限设置:灵活管理数据访问

英雄云的表单权限设置允许用户根据企业的具体需求管理表单的访问和操作权限。用户可以根据系统权限或自定义权限对不同成员或团队进行权限设置,以确保数据的安全和合规性。这一功能使企业能够根据变化的业务需求和团队结构,实时调整权限设置。

自定义打印模板:文档输出更便捷

英雄云云表单支持自定义打印模板,可将表单数据转换为可打印的Word文档。用户可以根据自己的需求进行排版和编辑,将产品规格说明书等文档轻松生成。这一功能提供了一种标准化的文档输出方式,简化了信息整理的过程。

综合来看,选择英雄云云表单意味着选择更智能、更灵活、更高效的数据管理工具。无论是提高工作效率,精确管理数据,还是实现数据处理,英雄云云表单都能满足您的多样化需求,助力您的业务发展。

如果您正在寻找一款强大的云表单工具,不妨考虑英雄云,它将为您带来更多的便捷和智能,助您事半功倍。


免责声明:

本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿等来源。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。

上一篇:然后点击添加按钮-英雄云拓展知识分享
下一篇:Excel中文本函数DOLLAR怎样使用?-英雄云拓展知识分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×