728x90
일정관리를 하다보면 진척도를 관리하게되는데 일정이 얼만큼 남았는지 혹은 얼만큼 진행했는지 표시하여 좀 더 편하게 관리하고 싶어진다.
진척을 100기준으로 잡고 현재 진행정도를 작성해주고, 해당 비율만큼 파란 사각형을 채워주고 남은 진행도만큼 빨간 사각형을 채워주도록 한다.
해당 수식은 아래와 같다.
slice("🟦🟦🟦🟦🟦🟦🟦🟦🟦🟦", 0, 2 * round(prop("진척") / 100 * 10)) + slice("🟥🟥🟥🟥🟥🟥🟥🟥🟥🟥", 0, 2 * (10 - round(prop("진척") / 100 * 10)))
이를 캘린더에서 보게되면 아래와 같이 나오게 된다.
이 수식은 2byte를 차지하는 유니코드용으로 작성된 코드이며, 1byte를 사용하는 아스키코드용 수식은 아래와 같다.
slice("▶▶▶▶▶▶▶▶▶▶", 0, 1 * round(prop("진척") / 100 * 10)) + slice("▷▷▷▷▷▷▷▷▷▷", 0, 1 * (10 - round(prop("진척") / 100 * 10)))
이를 캘린더에서 보게되면 아래와 같다.
추가적으로 남은 일정대비 기간을 프로그레스로 표시할 수도있다.
수식은 아래와 같다.
slice("◇◇◇◇◇◇◇◇◇◇",0,1*(10-round(dateBetween(end(prop("기간")),dateSubtract((dateSubtract(now(),hour(now()),"hours")),minute(now()),"minutes"), "days")/dateBetween(end(prop("기간")),start(prop("기간")),"days")*10))) + slice("◆◆◆◆◆◆◆◆◆◆",0,1*(round(dateBetween(end(prop("기간")),dateSubtract((dateSubtract(now(),hour(now()),"hours")),minute(now()),"minutes"), "days")/dateBetween(end(prop("기간")),start(prop("기간")),"days")*10)))
인덱스 오버플로우나 언더플로우를 막기위해 추가한 수식은 아래와 같다.
"잔여일 : " + slice("◇◇◇◇◇◇◇◇◇◇", 0, 1 * (10 - min(round(dateBetween(end(prop("기간")), dateSubtract(dateSubtract(now(), hour(now()), "hours"), minute(now()), "minutes"), "days") / dateBetween(end(prop("기간")), start(prop("기간")), "days") * 10), 10))) + slice("◆◆◆◆◆◆◆◆◆◆", 0, 1 * max(round(dateBetween(end(prop("기간")), dateSubtract(dateSubtract(now(), hour(now()), "hours"), minute(now()), "minutes"), "days") / dateBetween(end(prop("기간")), start(prop("기간")), "days") * 10), 0))
이를 캘린더에서보면 아래와 같이 표시된다.
헤더를 추가하여 다듬으면 아래와같이 가시성을 높일 수 있다.
이 수식을 사용하면 일정만이 아니라 물품의 잔여량이나, 캐릭터의 HP바등 여러용도로 사용할 수 있다.
728x90
'TIPS > NOTION' 카테고리의 다른 글
[노션]데이터베이스 수식 활용 - 요일표시하기 (0) | 2022.05.04 |
---|---|
[노션]일정관리 - 식단관리 ⑤날짜 형식 변경 (0) | 2022.05.03 |
[노션]일정관리 - 식단관리 ④칼로리표를 추가하여 식단에 칼로리 넣기 (0) | 2022.05.03 |
[노션]일정관리 - 식단관리 ③필터를 추가하여 원하는 기간만 보드에 표시하기 (0) | 2022.05.02 |
[노션]일정관리 - 식단관리 ②보드에 그룹화를 통하여 원하는 모양 만들기 (0) | 2022.05.02 |