如果日期在周末默认为上周五,则表现优异

时间:2018-03-11 12:10:11

标签: excel excel-formula

我在不同的列中有以下两个函数,我需要将函数应用于:

=DATE(YEAR(E5);MONTH(E5);DAY(E5))

=TRUNC([@CAT]-TIME(10;0;0))

对于他们两个,如果日期超过周末,我需要默认为星期五。如果日期是在一周内,则需要保留工作日日期。

例如:2018/03/11周日需要2018/03/09

例如:2018/03/5周一需要保持不变2018/03/05

我尝试过使用带有工作日(1-7)的IF语句,但是当它是假的时候减去从该日期开始的一两天(因此在星期四它会到达星期二)

2 个答案:

答案 0 :(得分:1)

=WORKDAY(your_formula +1;-1)

会做你想做的事。

如果your_formula解析为星期六或太阳,并且我们添加一(1)天,然后减去一(1)个工作日,前面的星期五将是结果,因为太阳或星期一减去一个工作日 - >周五。

答案 1 :(得分:0)

为了真正得到你所追求的东西,我使用了这个公式:

 string[] path = Directory.GetFiles("Cards");
            foreach (string filepath in path)
            {
                string[] files = filepath;



                int x = 20;
                int y = 20;
                int maxheight = -1;
                foreach (string img in files)
                {
                    PictureBox pic = new PictureBox();
                    pic.Image = Image.FromFile(img);
                    pic.Location = new Point(x, y);
                    pic.Size = new Size(200, 200);
                    pic.SizeMode = PictureBoxSizeMode.Zoom;
                    x += pic.Width + 10;
                    maxheight = Math.Max(pic.Height, maxheight);
                    if (x > this.ClientSize.Width - 100)
                    {
                        x = 20;
                        y += maxheight + 10;
                    }
                    this.panelImages.Controls.Add(pic);

                }
            }

在我的机器上星期日是1,星期六是7。

Demo Sheet