פילטר לפי כותרת העמודה גוגל שיטס
-
יש לי טבלת נתונים כלשהיא ואני מעוניין להציג רק את העמודות שאני אבחר
אבל מכיון שיש עוד משתמשים שיכולים להוסיף עמודות לטבלה המקורית אני צריך לקבל את העמודות לפי הכותרת שלהם
חשבתי להשתמש בפונקציה QUERY שהיא הפונקציה היחידה שאני מכיר שיודעת לפלטר עמודות
הבעיה שאני לא מתמצא בשפת Visualization API ולכן מה שהצלחתי להבין מהדרכות שונות זה איך לקחת עמודות לפי המיקום שלהם בטבלה
לדוגמא=QUERY(גיליון 1!A1:D, "select B, C,")
לסיכום כיצד ניתן לבקש מהפונקציה הנ"ל רק את העמודות שהכותרת שלהם היא XXX,YYY,ZZZ
ועוד משהו אחרון: תודה רבה לכל העוזרים ואלו שרוצים לעזור
-
@פשוט-אבל-תותח אפשר על ידי סקריפט קטן. עיין בפתרון כאן, ותעתיק את הקוד לסקריפט בגליון.
ואז תשתמש ב-QUERY
כך:=QUERY(גיליון1!A1:D, QueryByName(גיליון1!A1:D1, "SELECT `XXX`, `YYY`, `ZZZ`"))
-
@OdedDvir
@פשוט-אבל-תותח אמר:יש לי טבלת נתונים כלשהיא ואני מעוניין להציג רק את העמודות שאני אבחר
אבל מכיון שיש עוד משתמשים שיכולים להוסיף עמודות לטבלה המקורית אני צריך לקבל את העמודות לפי הכותרת שלהם
חשבתי להשתמש בפונקציה QUERY שהיא הפונקציה היחידה שאני מכיר שיודעת לפלטר עמודות ...
לדוגמא....
לסיכום כיצד ניתן לבקש מהפונקציה הנ"ל רק את העמודות שהכותרת שלהם היא XXX,YYY,ZZZכמובן שהפונקציה הנכונה זה Query, ואם הכותרות באנגלית ניתן להשתמש בכותרות עצמן, אך כיוון שבעברית עסקינן ומתעוררת הבעיה שציינת הייתי מציע להשתמש בנוסף גם בפונקציית
Match
, פונקציה זו מחפשת ערך מסוים בשורה מסוימת ומחזירה את המיקום היחסי של הערך בטווח.
דהיינו:
תשרשר לטקסט של השאילתה בצורה הבאה:="select Col"&MATCH("טלפון",A1:E1,0)
ואז הוא כל פעם יחפש את העמודה שרצית שתוצג ואפילו כשיתווספו עמודות בהמשך.
בעיה קטנה: אין אפשרות להשתמש בסגנון ההפניה של Col2 Col1 והלאה בהפניה לטווח רגיל רק כאשר הטווח הוא מערך של תאים לכן לא משנה מה הטווח שלך תיתן את ההפניה בצורה של מערך, דהיינו במקום:
A1:F38
תיתן:
{A1:F37;A38:F38}
ואז כן ניתן להשתמש בסגנון ההפניה הנ"ל בשאילתה.
(לדעתי חבל ללכת ישר לאופציה של קוד כשנראה לכאורה שיש פתרון מוצלח יותר בפונקציה ישירה)בהצלחה!
-
@nach השגיאה שציין @פשוט-אבל-תותח לא קשורה לעברית. בדקתי והסקריפט עובד בלי בעיה גם עם כותרות בעברית. לדעתי הקריאה לפונקציה לא מבוצעת נכון. היה טוב אם @פשוט-אבל-תותח היה מצרף את הנוסחה שבה השתמש.
(לדעתי חבל ללכת ישר לאופציה של קוד כשנראה לכאורה שיש פתרון מוצלח יותר בפונקציה ישירה)
זה נכון כשמדובר בעמודה אחת.
במקרה לעיל שיש צורך בכמה עמודות, השימוש בפונקציית עזר בסקריפט נותן נוסחא נקייה ומובנת, לעומת נוסחא ארוכה ומתוסבכת, עם כמה קריאות ל-MATCH
. -
@OdedDvir אמר בפילטר לפי כותרת העמודה גוגל שיטס:
(לדעתי חבל ללכת ישר לאופציה של קוד כשנראה לכאורה שיש פתרון מוצלח יותר בפונקציה ישירה)
זה נכון כשמדובר בעמודה אחת.
במקרה לעיל שיש צורך בכמה עמודות, השימוש בפונקציית עזר בסקריפט נותן נוסחא נקייה ומובנת, לעומת נוסחא ארוכה ומתוסבכת, עם כמה קריאות ל-MATCH.נכון, אני גם מאוד נהנתי מהתשובה של @OdedDvir , אבל אני רוצה להביא גם את הצד השני...
- פונקציית UDF בגוגל שיטס איטית יותר, כך שבחישובים מסובכים זה מכביד.
- לפי מה שהבנתי א"א לשכפל קובץ כזה למקום אחר / ללקוח, כי צריך לשכפל את הסקריפט בנפרד.
כך שזה לא תמיד יותר נוח לעבוד עם גוגל סקריפט, ויש לשקול מה עדיף בכל מקרה ספציפי.
אם טעיתי/החסרתי במשהו, אשמח לדעת!
-
@פשוט-אבל-תותח הקריאה נראית תקינה. לפי הודעת השגיאה הכותרת של אחת העמודות בטווח היא לא מחרוזת. יתכן ויש לך עמודה עם כותרת ריקה בטווח שציינת, וזה גורם לשגיאה.
-
@פשוט-אבל-תותח אמר בפילטר לפי כותרת העמודה גוגל שיטס:
@OdedDvir
היי
מצאתי את הבעיה בטעות ציינתי 2 גיליונות שונים תיקנצתי וכעת זה עובדהמילים "מצאתי את הבעיה" קצת מרגיזות.
אין שום בעיה לציין גליונות שונים (גם אם זה היה טעות מצידך).
הבעיה היא שהכתובת 'גיליון5'!A1:F1 הייתה ריקה בדיוק כפי שאמר @OdedDvir.