当前推荐的答案对我不起作用。对于更简单的方法,我建议使用以下公式:
=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是给定列距最右边列的列数。
将 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。
| 归档时间: |
|
| 查看次数: |
12430 次 |
| 最近记录: |