שלום!
יש לי טבלה עם רשימה של שמות פרטים תאריך וכו' ואח"כ סכומים
ביקשתי ממנו מיון לפי שמות
עכשיו אני רוצה לעשות לכל שם סיכום של כל הסכומים יחד
יש לציין שאני ממשיך ומוסיף לשם עוד ועוד שורות אני רוצה שתמיד יהיה לי שם וסיכום כללי עליו

מדובר בהמון שמות ולהכניס שורת סיכום אחרי כל 1 זה המון עבודה,
 
שלום!
יש לי טבלה עם רשימה של שמות פרטים תאריך וכו' ואח"כ סכומים
ביקשתי ממנו מיון לפי שמות
עכשיו אני רוצה לעשות לכל שם סיכום של כל הסכומים יחד
יש לציין שאני ממשיך ומוסיף לשם עוד ועוד שורות אני רוצה שתמיד יהיה לי שם וסיכום כללי עליו

מדובר בהמון שמות ולהכניס שורת סיכום אחרי כל 1 זה המון עבודה,
תשתמש ב PIVOT TABLE
אבל זה צריך רענון לאחר שינוי בנתונים

לסיכום לפי שם (לא שורה אחר כל שם) ניתן להשתמש ב SUMIF/SUMIFS
 
אני עורך הגרלות באקסל עם פונקציית RANDBETWEEN
אבל יש לי בעיה קטנה
כשאני עושה הגרלה עם 30 זוכים, יכול להיות שאותו מספר(אדם) יזכה פעמיים, איך אני יכול לעשות שיעשה הגרלה עם כמות זוכים ולא יותר מזכיה אחת לאדם ?

תודה מראש
 
אני עורך הגרלות באקסל עם פונקציית RANDBETWEEN
אבל יש לי בעיה קטנה
כשאני עושה הגרלה עם 30 זוכים, יכול להיות שאותו מספר(אדם) יזכה פעמיים, איך אני יכול לעשות שיעשה הגרלה עם כמות זוכים ולא יותר מזכיה אחת לאדם ?

תודה מראש
בקישור כאן יש פתרון.
1605430969808.png


אפשר גם להכין נוסחה מותאמת לשימוש בגיליון בקוד VBA.
 
חשבתי על זה קודם אבל זה לא מושלם עדיין יכול להיות המספר שעולה בפעם השניה כפול
לכאורה פיתרון מלא רק בvba

פונקציה מותאמת אישית
קוד:
Function rndUnq(minNum As Integer, maxNum As Integer, numsCount As Integer)
    Dim i As Integer
    Dim tmpRng As Integer
    Dim tmpStr As String
    Dim ans() As Integer
        If numsCount > (maxNum - minNum + 1) Then
            MsgBox "כמות התוצאות המבוקשת גדולה מהטווח האפשרי"
            rndUnq = "not valid"
            Exit Function
        End If
        ReDim ans(1 To numsCount, 1 To 1)
        tmpStr = "#"
        i = 1
        Do Until i = (numsCount + 1)
            tf = 1
            Do While tf >= 1
                Randomize
                tmpRnd = Int(rnd * (maxNum - minNum + 1) + minNum)
                tf = InStr(tmpStr, "#" & tmpRnd & "#")
            Loop
            ans(i, 1) = tmpRnd
            tmpStr = tmpStr & "#" & tmpRnd & "#"
            i = i + 1
        Loop
        rndUnq = ans
End Function

עריכה:
הקוד תוקן לחיפוש עם סולמיות בהתאם למה שכתב @אפר בהודעה הבאה.
 
נערך לאחרונה ב:
פונקציה מותאמת אישית
קוד:
Function rndUnq(minNum As Integer, maxNum As Integer, numsCount As Integer)
    Dim i As Integer
    Dim tmpRng As Integer
    Dim tmpStr As String
    Dim ans() As Integer
        If numsCount > (maxNum - minNum + 1) Then
            MsgBox "כמות התוצאות המבוקשת גדולה מהטווח האפשרי"
            rndUnq = "not valid"
            Exit Function
        End If
        ReDim ans(1 To numsCount, 1 To 1)
        tmpStr = ""
        i = 1
        Do Until i = (numsCount + 1)
            tf = 1
            Do While tf >= 1
                Randomize
                tmpRnd = Int(rnd * (maxNum - minNum + 1) + minNum)
                tf = InStr(tmpStr, tmpRnd)
            Loop
            ans(i, 1) = tmpRnd
            tmpStr = tmpStr & "#" & tmpRnd
            i = i + 1
        Loop
        rndUnq = ans
End Function
צריך להוסיף לSTR עיצוב אפסים אחרת אם יש 11 לא יתן 1
או לעשות כך (הסולמיות מגנות)
קוד:
Function rndUnq(minNum As Integer, maxNum As Integer, numsCount As Integer)
    Dim i As Integer
    Dim tmpRng As Integer
    Dim tmpStr As String
    Dim ans() As Integer
        If numsCount > (maxNum - minNum + 1) Then
            MsgBox "כמות התוצאות המבוקשת גדולה מהטווח האפשרי"
            rndUnq = "not valid"
            Exit Function
        End If
        ReDim ans(1 To numsCount, 1 To 1)
        tmpStr = ""
        i = 1
        Do Until i = (numsCount + 1)
            tf = 1
            Do While tf >= 1
                Randomize
                tmpRnd = Int(rnd * (maxNum - minNum + 1) + minNum)
                tf = InStr(tmpStr,"#" & tmpRnd & "#")
            Loop
            ans(i, 1) = tmpRnd
            tmpStr = tmpStr & "#" & tmpRnd &  "#"
            i = i + 1
        Loop
        rndUnq = ans
End Function
 
צריך להוסיף לSTR עיצוב אפסים אחרת אם יש 11 לא יתן 1
או לעשות כך (הסולמיות מגנות)
קוד:
Function rndUnq(minNum As Integer, maxNum As Integer, numsCount As Integer)
    Dim i As Integer
    Dim tmpRng As Integer
    Dim tmpStr As String
    Dim ans() As Integer
        If numsCount > (maxNum - minNum + 1) Then
            MsgBox "כמות התוצאות המבוקשת גדולה מהטווח האפשרי"
            rndUnq = "not valid"
            Exit Function
        End If
        ReDim ans(1 To numsCount, 1 To 1)
        tmpStr = ""
        i = 1
        Do Until i = (numsCount + 1)
            tf = 1
            Do While tf >= 1
                Randomize
                tmpRnd = Int(rnd * (maxNum - minNum + 1) + minNum)
                tf = InStr(tmpStr,"#" & tmpRnd & "#")
            Loop
            ans(i, 1) = tmpRnd
            tmpStr = tmpStr & "#" & tmpRnd &  "#"
            i = i + 1
        Loop
        rndUnq = ans
End Function
צודק. תודה.
בהתאם צריך גם לאתחל את tmpStr ל #.
עודכן במקור.
 
נערך לאחרונה ב:
הנוסחא בג'אווה סקריפט. הגליון שלכם בגוגל שיטס או באופיס?

למה שעות לא מדויקות לא יודע, אני מעתיק את הקוד והיודעים יעזרו.
JavaScript:
/*checking merav asaf*/

function onEdit(event)
{
  var timezone = "GMT+3";
  var timestamp_format = "dd-MM-yyyy HH:MM:SS"; // Timestamp Format.
  var updateColName = "נוכח";
  var timeStampColName = "שעה";
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Lesson");

  var actRng = event.source.getActiveRange();
  var editColumn = actRng.getColumn();
  var index = actRng.getRowIndex();
  var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
  var dateCol = headers[0].indexOf(timeStampColName);
  var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
  if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'נוכח' header exists, but not in the header row itself!
    var cell = sheet.getRange(index, dateCol + 1);
    var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
    cell.setValue(date);
  }
}

לכאורה כדי לשנות את שיוצג בלי תאריך צריך לשנות בקוד בשורה הרביעית.
@ממוקד ו @מרובע ,
אצלי כעת השעות נרשמות בשעון קיץ לפי ה GTM+3 שמוגדר בקוד. אפשר לשנות לGTM+2 אבל חיפשתי פתרון אוטומטי ומה שמצאתי זה את ההגדרה הזאת:
קוד:
var timezone = SpreadsheetApp.getActive().getSpreadsheetTimeZone();
במקום
קוד:
  var timezone = "GMT+3";
אצלי פתר את הבעיה.
מקור כאן
 
@ממוקד ו @מרובע ,
אצלי כעת השעות נרשמות בשעון קיץ לפי ה GTM+3 שמוגדר בקוד. אפשר לשנות לGTM+2 אבל חיפשתי פתרון אוטומטי ומה שמצאתי זה את ההגדרה הזאת:
קוד:
var timezone = SpreadsheetApp.getActive().getSpreadsheetTimeZone();
במקום
קוד:
  var timezone = "GMT+3";
אצלי פתר את הבעיה.
מקור כאן
אני מכניס את זה בקוד הקיים?
איפה?

תודה רבה
 
שאני עושה טבלה
ואני רוצה לרשום כמה שורות באותו תא
למה אני לא מצליחה לעשות אנטר ולרדת שורה?
 
@מאסטר באקסל ,
אשמח לתשובה.
יש לי טבלה עם עמודה של ממספרים 1,2,3 וכו', עמודה של של שמות ולצידה עמודה של כתות, (א,ב)
איך אפשר למיין את הטבלה לפי כתות, נניח שיסנן לי רק את כתה ב,
אך ישאיר לי את הסדר במספרים של 1,2,3?
 
@מאסטר באקסל ,
אשמח לתשובה.
יש לי טבלה עם עמודה של ממספרים 1,2,3 וכו', עמודה של של שמות ולצידה עמודה של כתות, (א,ב)
איך אפשר למיין את הטבלה לפי כתות, נניח שיסנן לי רק את כתה ב,
אך ישאיר לי את הסדר במספרים של 1,2,3?
אתם רוצים שיתחיל ב 1,2,3 או שיהיה לפי הסדר?
 

פרוגבוט

תוכן שיווקי
פרסומת

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים
למעלה