Tag: algorithm

如何在Excel中实现:如果单元格A1为0,则单元格A2 =“foo”。 否则,让用户指定一个input

这非常简单。 如果某个单元格(如A1)的值为“0”,我希望A2包含一个任意值。 否则,我希望用户能够input自己的价值。 第一部分很简单: A2=IF(A1 = "0", "value", "") 但是,如果A2是空的,并且用户去编辑该值,则Excel将提供要编辑的公式本身。 有没有办法解决?

计算Excel中文章的引用半衰期

Per Ana Andres说 :“他认为半衰期是从今年开始计算的年数,占今年该杂志总收入的50%。” 我正试图用Excel中的公式来计算这个值。 假设我有如下的数据: 2008 2009 2010 2011 Total 0 4 1 3 8 这篇文章发表于2008年,当年是2011年。在这种情况下,引用半衰期为2,因为你必须回到2010年才能得到(1 + 3)4(即8%)的引文。 我如何在Excel中编写一个公式,以这种方式使用上述结构(即每列是一年)来计算半衰期?

在每个水箱的最大可能容量上查找保存最大数量的葡萄酒的最less数量的水箱

我的业务是在葡萄酒转售业务,我们有这个问题,我一直在努力解决。 我们随时可以储存50-70种葡萄酒,大约500个不同容量的葡萄酒jar。 每个jar子只能装一种酒。 我的工作是确定最less数量的葡萄酒,每个葡萄酒的种类尽可能接近其最大容量,也就是说,如果两个容量为60升和40升的葡萄酒不应该储存在200升的容器中也存在。 我一直在excel中手工完成这个工作,并想尝试自动化这个过程,但是使用macros和数组公式会很快失控。 我可以在C和Swift中编写一个简单的程序,但坚持find一个通用的algorithm。 而我可以开始的指针非常感谢。 一个完整的解决scheme,我会给你一瓶;) 编辑:澄清,我知道我有多less种types的葡萄酒和他们的总量,即黑比诺700l,美乐2000l等,这些变化每周。 然而,这些油箱有许多不同的容量(40,60,80,100,200升等),并且以不规则的间隔变化,因为它们必须被取出以进行清洁和更换。 简单地使用70个坦克来保存70种types是不可能的。 此外,总量的葡萄酒从来没有匹配坦克的总容量,我需要使用最less数量的坦克来保持最大量的葡萄酒。 在容量不足的情况下,留下的酒量必须尽可能小(它们很快就会变质)。 如果剩余,每种types剩余的数量必须与其数量成比例。 这个问题的简单例子是: Wine: ———- Merlot 100 Pinot 120 Tocai 230 Chardonay 400 Total: 850L Tanks: ———- T1 10 T2 20 T3 60 T4 150 T5 80 T6 80 T7 90 T8 80 T9 50 T10 110 T11 50 T12 50 Total: 830L

实现Excel和VB的IRRfunction

我需要将在Excel和VB中find的IRR函数移植到ActionScript中。 Excel IRR公式 任何想法如何find这样的function“源”? 有没有人有这样的一些其他类似C语言实现?

在C ++中寻找优化algorithm来代替Excel Solver

因为Excel求解器在数千次优化(因为它使用电子表格作为接口)上运行速度很慢,所以我试图在C ++中实现一个类似的(特定于问题的)求解器(使用Visual Studio 2010,在Win 7个64位平台)。 我将通过VBA中的Declare语句包含DLL,并且已经有了这方面的经验,所以这不是问题。 我的问题是最小化经验数据与非线性但平滑的目标函数之间的平方误差的总和,问题将包括非负性(X> = 0)或甚至是正性约束(例如X> = 0.00000001) ,X代表决策variables。 我正在寻找一个强大的,经过validation的实现。 它可能是已build立的图书馆的一部分。 例如,我已经研究了ALGLIB存储的内容(请参阅http://www.alglib.net/optimization/ ),似乎只有其中一个algorithm接受有界约束。 但是我不知道这是值得的,这就是为什么我要收集一些意见。 或者,另一方面,如果用这种基本约束来增加ALGLIB的Levenberg-Marquardtalgorithm是可取的,例如通过拒绝不符合我的约束条件的每个中间解决scheme? (猜测不会这样做,但仍然值得一提)

如何从graphics数据中删除所有可以线性插入的点?

如果在Excel中给出了两列graphics数据,那么它如何能够“不插入” – 即压缩到产生相同线图的最less行数? 一个简单的例子: xy 1 4 2 5 3 6 4 3 5 0 会成为: xy 1 4 3 6 5 0 …因为这将产生完全相同的线条,但“中间”点被删除。 是否有一个现有的macros,加载项,在线工具等可以用来产生这样的结果 – 如果不是,也许有人可以发明这样的algorithm? 编辑:对于一个现实世界的例子,下面的图是使用WebPlotDigitizer反向工程。 粉红色的点标记的点,可能不完全转换为浮点值 – 如此理想的algorithm将包括一个小的“误差余量”来解释这一点。

如何在浏览器中实现电子表格?

最近我在一次采访中(软件工程师)问了这个问题,并不知道如何回答这个问题。 问题集中在电子表格的algorithm以及它如何与浏览器交互。 对于处理单元及其值的最佳数据结构,我有点困惑。 我猜想任何forms的散列表都可以使用单元格作为唯一的键,值是单元格中的对象? 然后,当更新的东西,你只需要更新表中的条目。 面试官暗示了一个图表,但我不确定图表如何对电子表格有用。 我考虑的其他事情是: 电子表格在浏览器中=自动保存。 在任何更新时,将所有数据发送回服务器 彼此相关的细胞,即C1 = C2 + C3,C5 = C1-C4。 如果C2的值改变,则C1和C5都改变。 devise模式的使用? 在这种特殊的情况下,人们是否会脱颖而出? 有关如何解决这个问题的任何提示? 除了电子表格本身的algorithm之外,面试官还有什么想要的? 事实上,它在浏览器相比,单独的应用程序添加任何困难? 谢谢!

将数字转换为C#中的字母以便在Microsoft Excel中使用

可能重复: 如何将列号(如127)转换为Excel列(如AA) 好吧,我正在写一个接受一个2d数组作为参数的方法。 我想把这个二维数组放到Excel工作表上,但是我需要找出最后的单元格位置。 我可以很容易地得到这样的高度: var height = data.GetLength(1); //`data` is the name of my 2d array 这给了我我的Y轴,但是获得我的X轴并不那么容易。 显然我可以这样得到这个数字: var width = data.GetLength(0); 这给了我一个数字,我想转换成一个字母。 所以,例如,0是A,1是B,依此类推,直到我们再次返回到A的26。 我相信有一个简单的方法来做到这一点,但我有一个完整的心理障碍。 你会怎么做? 谢谢

在电子表格中查找循环引用的algorithm

我有一个电子表格应用程序与公式。 我正在寻找检测公式中循环引用的最佳algorithm。 目前的做法是缓慢的,并使用太多的内存时,公式计算长链。 它涉及保留每个配方的所有家属的集合。 因此,如果每个单元格的第一列都有一个引用了它之前的单元格的公式,则第一个单元格的集合将是空的。 第二个单元格的集合只包含第一个单元格,第三个单元格的集合将包含单元格1和2,…,第1000个单元格的集合将包含之前的999个单元格。 当一个新的公式被引入时,它的依赖集被build立,如果这个集合包含新的公式,那么就有一个循环引用。 但显然,对于这种情况,所需要的时间和内存呈指数增长。

简化excel单元格列表以创build一个Range

我想从dynamic生成的单元格引用列表中创build一个Excel.Range对象。 Excel.Range outputRange = sheet.get_Range(strCellRange, Type.Missing); 由于strCellRange可能会变得很大,因此会给出例外。 所以我想简化它与范围符号的联合。 例如 string strCellRange = "F2,G2,H2,I2,J2,K2,L2,F7,G7,H7,I7,J7,K7,L7,F12,G12,H12,I12,J12,K12,L12,F17,G17,H17,I17,J17,K17,L17,F22,G22,H22,I22,J22,K22,L22,F27,G27,H27,I27,J27,K27,L27"; 至 string strCellRange = "F2:L2,F7:L7,F12:L12,F17:L17,F22:L22,F27:L27"; 是否有任何Excel方法创build一个具有很多单元格引用的Range对象? 有一个已知的algorithm来实现上述简化(matrixalgorithm)?