我们有一些非常大的Excel工作簿(几十个选项卡,每个MB,非常复杂的计算),有许多,可能有数百个使用可怕的INDIRECT函数的公式.这些公式分布在整个工作簿中,并针对几个数据表来查找值.
现在,我需要将这些公式所针对的数据范围移动到同一工作簿中的不同位置.
(原因是不是特别相关,但对自己有意思.我们需要运行Excel计算服务这些事情,延迟打装载每个相当大表之一的证明是不可接受的时间的.我们正在移动表格在一个连续的范围内,所以我们可以一次性加载它们.)
有没有办法找到目前引用我们想要移动的表的所有INDIRECT公式?
我不需要在线执行此操作.只要它可靠,我会高兴地拿走需要4个小时的东西.
请注意..Precedent,.Dependent等方法仅跟踪直接公式.
(另外,在重写电子表格无论是不是我们的选择).
谢谢!
Object.GetHashCode()上的MSDN文档描述了该方法应该如何工作的3个矛盾规则.
规则1和3与我相矛盾.
Object.GetHashCode()是否根据对象的值或对象的引用返回唯一的数字.如果我覆盖方法,我可以选择使用什么,但我想知道内部使用的内容,如果有人知道的话.
反正有没有在C++中有一种虚拟静态成员?
例如:
class BaseClass {
public:
BaseClass(const string& name) : _name(name) {}
string GetName() const { return _name; }
virtual void UseClass() = 0;
private:
const string _name;
};
class DerivedClass : public BaseClass {
public:
DerivedClass() : BaseClass("DerivedClass") {}
virtual void UseClass() { /* do something */ }
};
Run Code Online (Sandbox Code Playgroud)
我知道这个例子是微不足道的,但是如果我有一个复杂数据的向量,对于所有派生类来说总是相同但需要从基类方法访问?
class BaseClass {
public:
BaseClass() {}
virtual string GetName() const = 0;
virtual void UseClass() = 0;
};
class DerivedClass : public BaseClass {
public:
DerivedClass() {}
virtual string …Run Code Online (Sandbox Code Playgroud) 我们有一个大型数据库,我们有数据库端分页.这很快,在几分之一秒内从数百万条记录中返回50行的页面.
用户可以定义自己的排序,基本上选择要排序的列.列是动态的 - 一些具有数值,一些日期和一些文本.
虽然大多数按预期文本排序是愚蠢的.嗯,我说愚蠢,它对计算机有意义,但让用户感到沮丧.
例如,按字符串记录ID排序会产生如下内容:
rec1
rec10
rec14
rec2
rec20
rec3
rec4
Run Code Online (Sandbox Code Playgroud)
...等等.
我希望这个考虑到这个数字,所以:
rec1
rec2
rec3
rec4
rec10
rec14
rec20
Run Code Online (Sandbox Code Playgroud)
我无法控制输入(否则我只是在前导000中格式化)而且我不能依赖单一格式 - 有些类似于"{alpha code} - {dept code} - {rec id}".
我知道在C#中有几种方法可以做到这一点,但是不能拉下所有记录来对它们进行排序,因为这样会慢.
有谁知道在Sql server中快速应用自然排序的方法?
我们正在使用:
ROW_NUMBER() over (order by {field name} asc)
Run Code Online (Sandbox Code Playgroud)
然后我们就这样分页.
我们可以添加触发器,但我们不会.他们所有的输入都是参数化的,但是我无法改变格式 - 如果他们输入"rec2"和"rec10",他们希望它们就像那样,以自然的顺序返回.
我们有有效的用户输入,遵循不同客户的不同格式.
有人可能会去rec1,rec2,rec3,... rec100,rec101
而另一个可能会去:grp1rec1,grp1rec2,... grp20rec300,grp20rec301
当我说我们无法控制输入时,我的意思是我们不能强迫用户更改这些标准 - 它们有一个像grp1rec1的值,我不能将其重新格式化为grp01rec001,因为这会改变用于查找的内容和链接到外部系统.
这些格式变化很大,但通常是字母和数字的混合.
在C#中对它们进行排序很容易 - 只需将其分解{ "grp", 20, "rec", 301 },然后依次比较序列值.
但是,可能有数百万条记录并且数据被分页,我需要在SQL服务器上进行排序.
SQL服务器按值排序,而不是比较 - 在C#中我可以将值拆分为比较,但在SQL中我需要一些逻辑(非常快)获得一致排序的单个值.
@moebius - 你的答案可能会有效,但是为所有这些文本值添加排序键确实感觉像是一个丑陋的妥协.
编写多线程应用程序时,遇到的最常见问题之一是竞争条件.
我对社区的问题是:
什么是比赛条件?你怎么发现它们?你怎么处理它们?最后,你如何防止它们发生?
编写多线程应用程序时,遇到的最常见问题之一是死锁.
我对社区的问题是:
什么是僵局?
你怎么发现它们?
你处理它们吗?
最后,你如何防止它们发生?
是否有标准约定(如phpdoc或python的docstring)用于注释C#代码,以便可以从源代码自动生成类文档?
信号量是一种经常用于解决多线程问题的编程概念.我向社区提出的问题:
什么是信号量,你如何使用它?
concurrency ×3
c# ×2
natural-sort ×2
sorting ×2
.net ×1
algorithm ×1
c++ ×1
comments ×1
deadlock ×1
excel ×1
excel-vba ×1
hash ×1
locking ×1
ruby ×1
semaphore ×1
sha1 ×1
sql-server ×1
terminology ×1
vba ×1