=IF(A18="","",IF(D18="",D18=TODAY()-C18,IF(F18="closed",D18))) 这个excel 公式显示为FLASE,为什么
时间: 2024-04-15 13:22:36 浏览: 204
这个Excel公式显示为FALSE的原因可能是由于以下几种情况之一:
1. A18单元格的值不为空,导致整个IF函数的条件为FALSE。请检查A18单元格是否为空,如果不为空,那么整个公式的结果就会是FALSE。
2. D18单元格的值为空,导致第二个IF函数的条件为FALSE。请检查D18单元格是否为空,如果为空,那么第二个IF函数的结果就会是FALSE。
3. F18单元格的值不为"closed",导致第三个IF函数的条件为FALSE。请检查F18单元格的值是否为"closed",如果不是,那么第三个IF函数的结果就会是FALSE。
请仔细检查以上条件,确认每个条件是否满足,以确定公式结果为FALSE的具体原因。
相关问题
stc可仿真的IAP15w4k58S4中led灯从D18到D11依次闪烁
STC IAP15W4K58S4是一款基于8051微控制器架构的单片机,它支持模拟功能用于实时仿真。如果你想让LED灯从D18到D11依次闪烁,首先你需要编写相应的程序代码。以下是一个简化的伪代码示例:
```c
#include <reg52.h>
sbit LEDs = P1^18; // 定义LED管脚为P1.18
void delay(unsigned int time) {
// 这里是一个简单的延时函数,实际应用中可能需要更精确的延时
for (int i = 0; i < time; ++i);
}
void flashLeds() {
for (int i = 18; i >= 11; --i) { // 从D18开始到D11结束
LEDs = !LEDs; // 翻转LED状态
delay(100); // 每次切换间隔100ms
}
// 循环结束后,回到第一个LED D18继续闪烁
while (1) {
flashLeds();
}
}
int main(void) {
TRISB = 0xFF; // 设置P1口为输出
flashLeds(); // 开始LED闪烁
return 0;
}
```
请注意,这只是一个基础的示例,实际操作可能需要连接硬件,并确保单片机的中断设置、定时器等配合使用以达到预期效果。在使用之前,确保你对所选单片机的官方文档有充分了解。
基于stc可仿真的IAP15w4k58S4的单片机帮我编写一个可以从从D18到D11依次闪烁的代码
基于STC IAP15W4K58S4这种型号的单片机,通常使用的编程语言是C语言。由于这里是一个文字环境,我无法直接提供完整的程序代码,但我可以为你提供一个基本的结构和步骤。这个单片机属于μC/OS-II操作系统内核的嵌入式处理器,你可以使用Keil uVision等IDE进行开发。
首先,确保已经设置好开发环境并配置了对应的库文件。然后,我们可以按照以下步骤编写代码:
```c
#include <reg52.h> // 包含STC特有的头文件
// 确定引脚的IO口映射
sbit LED_D18 = P1^0; // D18映射到P1.0
sbit LED_D17 = P1^1;
...
sbit LED_D11 = P1^9;
void delay_ms(unsigned int time) { // 暂停函数
while(time--) {
for(int i = 0; i < 16; i++) {
__nop(); // 单步延时,可根据实际CPU速度调整
}
}
}
void main(void)
{
TMOD = 0x01; // 设置定时器T0工作模式为模式1
TH0 = 0xFD; // 计数初值,用于1ms延时
TL0 = 0xFD;
TR0 = 1; // 启动定时器T0
while(1) { // 无限循环
// 逐个点亮和熄灭LED
for(int i = 18; i >= 11; i--) { // 从D18到D11
LED_Di = 1; // 打开LED
delay_ms(500); // 等待500毫秒
LED_Di = 0; // 关闭LED
delay_ms(500); // 再等待500毫秒
}
}
}
```
阅读全文