כשאני כותב if בתוך filter אני חייב לתת לו שני צדדים, מכיון שאם אני משאיר את הצד השני של התנאי ריק זה מתקבל כנתון קבוע שלא יכול להיות בפילטר.
דוגמא
=filter(if(D1="שעות",A:C,B:B=<15:00,""
גוגל שיטס יחזיר שגיאה *הפונקציה FILTER מכילה גדלים לא תואמים של טווחים. ספירת השורות שהייתה צפויה להתקבל: ****. ספירת העמודות: 1. ספירת השורות שהתקבלה בפועל: 1, ספירת העמודות: 1.
הסיבה לזה היא מכיון שלא נתתי לו בדיקה של כל הטווח שבחרתי אלא רק של "" ריק וזה בעצם ערך יחיד
הבעיה שלי היא שאני מעוניין לעשות תנאי בפילטר, דהיינו אם G1 שווה ל X אז אני רוצה לקבל רק טווח שעונה לקריטריון, ואם G1 אינו שווה לX אני רוצה לקבל את כל הטווח.
מה שעשיתי זה if
=filter(A:C,if(g1="X",B:B>15,""
ואז יוצר שאם G1 שונה מ X אז אני מקבל את השגיאה הנ"ל
מה שעשיתי זה שהכנסתי תנאי שתמיד מתקיים במקום ""
לדוגמא
=filter(A:C,if(g1="X",B:B<1000000,""
מכיון שכל הנתונים שלי קטנים ממיליון אז התנאי תמיד מתקיים
עד כאן הכל טוב
הבעיה שאני חווה איטיות נוראית בגיליון
כשקצת קראתי על זה הבנתי שהחישובים המיותרים שנוצרו כך הם נוראיים, וכאן השאלה שלי כיצד ניתן לאכול את העוגה ולהשאיר אותה שלימה
דהיינו גם לא לחשב סתם וגם להשאיר את הif במקומו
תודה רבה
ניסיתי הרבה זמן לתמצת את השאלה ולכתוב אותה באופן הברור ביותר, מקווה שהצלחתי