在excel中生成真值表

Jon*_*eri 6 excel excel-formula truthtable

我需要制作一个公式,为您提供可变数量的列的真值表

例子

样本4位真值表

Dav*_*ude 7

当前推荐的答案对我不起作用。对于更简单的方法,我建议使用以下公式:

=IF(MOD(FLOOR((ROW()-ROW(TopRight))/(2^(COLUMN(TopRight)-COLUMN())), 1),2)=0,0,1)
Run Code Online (Sandbox Code Playgroud)

TopRight真值表右上角的单元格在哪里。

例如,如果您要创建一个包含 8 个以 开头的条目的真值表A3,请将其替换TopRight$H$3,然后横向和向下拖动公式。


对所发生情况的基本解释:在真值表中,每行数行交替出现 1 或 0 2 ^ n,其中n是给定列距最右边列的列数。


Jon*_*eri 5

将 FirstCell 替换为对包含第一个 2^1 值的单元格的静态引用,例如 4 位表(16 个值)的 $D$1 并自动填充到网格的其余部分(在示例 A1:D16 中)

=IF(MOD(ROW()-ROW(FirstCell),POWER(2, ((COLUMN() - COLUMN(FirstCell)) * -1) + 1)) >= (POWER(2, ((COLUMN() - COLUMN(FirstCell)) * -1) + 1) / 2),1,0)
Run Code Online (Sandbox Code Playgroud)

这背后的逻辑是:

如果当前行模 2 次方当前列(* -1 因为第一个值在最后一列,+ 1 因为它从 0 开始)大于或等于 2 次方当前列的一半,则将该值设置为 1,否则将该值设置为 0。