首页 > 解决方案 > 展位预订以显示 excel 中可用的内容

问题描述

我目前有一份供应商名单,他们将租用展位在我们的活动中展示他们的产品。活动租借时间表是这样的,

2 周租金 - 10 月 16 日至 10 月 28 日或 10 月 30 日至 11 月 11 日

那么是否有公式或 VBA 脚本,例如供应商 A 在 10 月 16 日至 10 月 28 日期间预订展位 A,并且该公式或 VBA 脚本可以告诉我展位 A 仅在 10 月 30 日至 11 月 11 日可用?

我真的需要帮助,因为我有 100 多个摊位需要管理。如果我要滚动浏览整个列表并一一检查它们,那将非常耗时。

提前致谢!

+-----------+-------------+-------------------+-------------+--------------+------------+-----------------+---------+--------------+-------------+-----------------+---------+
|           |             |       Zone        | Vendor Type |   1st Half   |            |                 |         |   2nd Half   |             |                 |         |
+-----------+-------------+-------------------+-------------+--------------+------------+-----------------+---------+--------------+-------------+-----------------+---------+
| Booth No. | terminal id |                   |             | Company Name | Items Sold | Duration        | Remarks | Company Name | Items Sold  | Duration        | Remarks |
| A1        |             | Liang Court Field |             | Aux          | TBC        | 16 Oct - 28 Oct |         | Naeemsouq    | Clothes     | 30 Oct - 11 Nov |         |
| A2        |             | Liang Court Field |             | Craft B      | Burgers    | 16 Oct - 28 Oct |         | Saiko Beer   | Butter Beer | 30 Oct - 11 Nov |         |
| A3        |             | Liang Court Field |             | Alan         | Pho        | 16 Oct - 28 Oct |         |              |             |                 |         |
+-----------+-------------+-------------------+-------------+--------------+------------+-----------------+---------+--------------+-------------+-----------------+---------+

因此,如果您能看到 A3 展位,Alan 只占用了前 2 周的租金。第二半是空的,这意味着它可以预订。我的excel中有很多这样的。因此,在整个 150 个展位中检查哪些展位在活动的前半场或后半场有空位可供预订是非常耗时的。

标签: excelvbaexcel-formula

解决方案


一种选择是使用 Excel 的过滤器。您可以突出显示所有数据,然后选择Home>Editing>Sort & Filter>Filter在此处输入图像描述

然后,您可以选择列标题,并取消选择所有非空白选项。 在此处输入图像描述

这将过滤掉所有展位被填满的行。如果您想要一个过滤列表,其中前半部分和后半部分的开口可用,您可以使用 if 语句创建一个新列,以测试其中一个或另一个是否为空白。类似的东西=IF(OR(ISBLANK(J5),ISBLANK(G5)),1,0)可以解决问题(假设您的持续时间数据在 J 和 G 列中)。然后,您可以根据新的帮助列进行过滤。

如果您正在寻找公式选项,以下公式将生成一个未占用展位的列表。此公式假设您的展位号为Column A,您的持续时间为Column G。根据需要调整公式以适合您的数据。这是一个数组公式,因此您需要将其复制并粘贴到单元格中,然后点击ctrl+shift+enter

{=TEXTJOIN(", ",TRUE,(IF(ISBLANK(G3:G5),A3:A5,"")))}

或者,如果您没有具有公式的最新版本的 office TEXTJOIN,您可以使用 执行类似的操作CONCAT,尽管需要一些额外的工作才能很好地格式化它。这也是一个数组公式,因此您需要将其复制并粘贴到一个单元格中,然后点击ctrl+shift+enter

{=CONCAT(IF(ISBLANK(G3:G5),A3:A5,""))}

为了使其格式更好,您可以在 A 列中的每个条目之后放置一个空格,或者,您可以创建另一列,其中包含“,”列中的每个元素(逗号和空格)。如果此列在Column H以下公式中,将生成一个格式化的开放空间列表(同样是一个数组公式)。

{=CONCAT(IF(ISBLANK(G3:G5),A3:A5&H3:H5,""))}

推荐阅读