Tag: 擅长

计算Excel饼图等百分比

我正在将计算模型从Excel转换为编程语言,我希望保持结果与Excel类似。 具体来说,我想确保饼图的百分比总和为100时,他们显示为整数。 例: 考虑一下: [ 7, 13, 58, 43 ] 。 饼图中的百分比应该是[ 5.79%, 10.74%, 47.93%, 35.54% ] 整数,你会得到[ 6%, 11%, 48%, 36% ] 。 这些加起来101。 根据这个页面 ,Excel应该从最大的数字中减去1%。 这个信息显然不适用于Excel 2007,因为我看到的实际数字是[ 6%, 11%, 48%, 35% ] ,所以它从第二大的数字中减去1。 我发现这个页面 ,似乎承认这种情况是奇怪的,但并没有真正的Excel使用的algorithm。 编辑 :我第一次错过了,但该页面意味着“Excel使用的内部机制以最小二乘法使数据集和描述它的回归线之间的误差最小化的方式类似的方式最小化百分比中的误差”。 不知道这只是一个疯狂的猜测或更多的东西。 任何人都可以阐明这个问题吗? (必须链接: 保存甜点饼 )

间接行excel地址

我有一个数值在C20:G30的表格。 我想通过MAX(LARGE($BG$26:$BT$69;1)) MAX(LARGE($BG$26:$BT$69;2))等提取前十个值。 我设法做的。 然后,我想检索这些前十个值的地址。 它的工作,如果我这样做 INDIRECT(ADDRESS(ROW(E25); COLUMN(E25)) 但是如果我用单元格坐标E25replace它不会 MAX(LARGE($BG$26:$BT$69;1)) 。 我怎么能直接做这一切工作? 很明显, INDIRECT(ADDRESS(ROW(MAX(LARGE($BG$26:$BT$69;1))); COLUMN(MAX(LARGE($BG$26:$BT$69;1))))似乎不正确,告诉我公式是错误的?让我知道如果我不清楚是否应该重新解释这个问题。

图表中的Power Bidate

我试图解决这个问题,我有一个与company_name,文章的表,每个人都有一个价格和金额,与一定的date。 所以这篇文章可以多次订购。 最后看起来像这样: Company Article Price Amount Date —————————————————- X A1 10 3 12.03.2015 Y B1 20 5 10.01.2014 Z A1 30 9 25.12.2014 … … … … … 我想代表那个在Power Bi和大部分图表中的问题都是Axise的总和,我希望X是date(没有聚合),Y是在这篇文章旁边的奖项,其大小是是金额。 我会去散点图,但我不想要的时间线,因为我需要显示date在X.所以我想我可以做任何事情与数据库,以便添加或聚合任何东西。 但我不知道如何做到这一点….

Excel:通过单元格引用将数组parameter passing给公式

代码明智这似乎很简单,但我仍然卡在一个#VALUE。 我做了一个自定义的Excel函数,以一个数组作为参数,这个函数在使用时就像这样工作得很好:= countArray({3,5})会给出2(为了说明,实际的公式是不同的)。 但是,我想用作参数的实际数组包含在另一个单元格中(例如= {3,5})。 因此,我想调用函数= countArray(A1),使用包含我想用作参数的数组的单元格的引用,而不是直接包含数组,所以我可以使用一个和相同的公式。 有没有办法做到这一点? Cell formulas: A1: ={3,5} B1: =countArray({3,5}) B2: =countArray(A1) Function countArray(arr()) As Integer countArr = UBound(arr) End Function B1中的公式适用,B2中的公式不适用。 至于A1的内容,像这样放入Excel时,只显示3个单元格的值 – 因此我假设单元格实际上包含一个数组。 那么情况不是这样吗? 单元格是否可以包含数组作为它们的值(或从其他单元格引用这些数据)而不将其存储为分隔string并将其转换为数组? 编辑 :这已经过了几年了,所以也许我可以在我发布这个问题后尝试的道路上发表评论。 最初我尝试着在单元格JSON结构上进行操作,取得了一定的成功。 从那以后,我也发现最近的Power Query(自从Excel 2016本地集成以来)确实支持其“单元”中的列表结构,事实上也支持相关的function 。 我现在不再使用其中的任何一种(现在对Spark更感兴趣),但是希望这可以帮助别人绊倒这个问题。

在excel中生成一个真值表

我有需要做一个公式,给你一个可变数量的列的真值表 例子

加快arrays公式

我有以下的公式,我将在下面解释: {=SUM(IF(($G$1:$L$1=$O$1)*($G$2:$L$2=$O$2)*($G$3:$L$3=$O$3)*($G$4:$L$4=$O$4)*($G$5:$L$5=$O$5)*($G$6:$L$6=$O$6)*($G$7:$L$7=$O$7);G21:L21))} 这是工作表的样子: 在G-L列下,我们有一个所有数据的“数据库”。 这些列将每季度累积增加(每季度约30列)。 所以几年后,我们结束了一堆数据库列(1000 +原始数据列)。 为了演示,我只包含了这6列。 正如你所看到的,每一列都包含了1-7行之间的特定参数,允许识别特定的国家代码+项目代码+类别+会计年度,+ …(等)。 这使我们能够追踪一个独特的特定项目并检索其数据。 我们之后在列O上的是一个特定的项目,我们试图为其检索值(您可以看到第1 – 7行与第G列(我们试图为这个特定项目检索值)相同。 这是我们的公式。 我已经附上了。 这是按F2时的样子。 正如您所看到的, IF语句首先检查特定列是否与列O下的预定义条件相匹配,并将所有满足1-7行之间所有条件的列相加。 现在是这个问题。 我们有一个工作表,其中包含20个项目(如列O),我们正在使用这个数组公式来检索值。 问题是用这种方式检索数据需要很多时间。 我们还采用了一个通过VBA的原理,我们遍历所有的单元格,然后插入一个公式,计算数组单元格,然后我们复制粘贴结果值里面(这样我们不会结束整张数组公式)。 然而,计算(1分钟左右)仍然需要长时间。 我想知道,如果有一个更好的解决scheme如何检索已经提到的格式的数据(这意味着我们有一个特定的标准,我们试图find)? 也许SUMIFS可能会更好? 或者是产品? 甚至完全不同的解决scheme? 我愿意接受任何能够加快这一进程的提案。

列和行在xlsx文件中折叠

我被要求创build一个包含折叠的行和列的Excel(.xlsx)报告。 该应用程序是使用axlsx gem来生成excel的ruby / rails。 目前,我无法将拼接的符号“+”面向隐藏的行或列,以允许显示/隐藏行/列。 任何人都知道如何创build这种折叠效果? 即使用另一种技术? 谢谢, 迈克尔

excel限制行限制。 我还可以创build一个大于限制的文件吗?

我看到工作表中的行数限制为1,048,576。 这只是一个优秀的东西? 例如,我可以创build一个csv文件,有更多的行说500万行? 我知道我不能用excel打开它,但我仍然可以拥有该文件并以其他方式访问它(如C ++)。 我认为这是可行的,因为CSV不一定是一个擅长的事情吗? 提前致谢。

Excel中的国际macros

我正在尝试创build一个国际Excelmacros表。 这些macros应该适用于很多国家 我使用Range.formula编写英文公式,但它不适用于所有公式(?) 例如,我创build Range("D4").Formula = "=SUM(D7:D14)" 在西class牙语Excel中,它的作用是充满“ =SUMA(D7:D14) ”。 是正确的 其他公式失败,例如: "=IF(R2=8;D7;D6)" 'In Spanish Excel I get error 1004 "=ISNUMBER(O2)" works =ESNUMERO(O2) "=PRODUCT(O2;O3)" Does not work, error 1004 我与Excel 2010和Windows 7,我不明白这个奇怪的行为。 参数对所有公式均有效 有任何想法吗?

这个值是什么意思是excel中的1.845E-07?

我正在使用interop服务从C#阅读excel表。 我的工作表有一个单元格值为0.00。 但运行时,当我检查在C#代码中的单元格的值我得到“1.845E-07”这个值。 当我检查Excel表单时,在那个单元格上右键单击格式单元格,我在示例部分中获得了“1.845E-07”值。 如何获得确切的价值? 请帮帮我。 代码是巨大的,所以我不能在这里提供。 该行是: if (Convert.ToString(((Excel.Range)worksheet.Cells[iRowindex, colIndex_q10]).Value2) != string.Empty) { drRow[dtSourceEXLData.Columns[constants.Floor]] = ((Excel.Range)worksheet.Cells[iRowindex, colIndex_q10]).Value2.ToString(); } 与date单元格“39448”相同的问题。 这是什么意思??请帮助….