אפר

סתם מתעניין...
מנוי פרימיום

xl3391

משתמש מקצוען
חשבתי על זה קודם אבל זה לא מושלם עדיין יכול להיות המספר שעולה בפעם השניה כפול
לכאורה פיתרון מלא רק ב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
 

xl3391

משתמש מקצוען
צריך להוסיף ל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 ל #.
עודכן במקור.
 
נערך לאחרונה ב:

xl3391

משתמש מקצוען
הנוסחא בג'אווה סקריפט. הגליון שלכם בגוגל שיטס או באופיס?

למה שעות לא מדויקות לא יודע, אני מעתיק את הקוד והיודעים יעזרו.
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";
אצלי פתר את הבעיה.
מקור כאן
אני מכניס את זה בקוד הקיים?
איפה?

תודה רבה
 

אושר עד

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

23600

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

אין על אקסל

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

23600

משתמש פעיל
לסנן לדוגמא לפי ט-2
ואז שהשם הראשון של הילדה בט-2 יופיע כמספר 1 וכן הלאה
 

אין על אקסל

משתמש פעיל
לסנן לדוגמא לפי ט-2
ואז שהשם הראשון של הילדה בט-2 יופיע כמספר 1 וכן הלאה
אבל אם לא מסונן מה אתה רוצה שיהיה? לכל כיתה מיספור שונה?!
או מיספור אחיד לכולם (ואם כן מה אתה רוצה לראות כמה יש בכיתה או שיהיה מספר רציף?) כי בכללי זה לא אפשרי בעמודה אחת אלא 2
 

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קיט א'

א אַשְׁרֵי תְמִימֵי דָרֶךְ הַהֹלְכִים בְּתוֹרַת יְהוָה:ב אַשְׁרֵי נֹצְרֵי עֵדֹתָיו בְּכָל לֵב יִדְרְשׁוּהוּ:ג אַף לֹא פָעֲלוּ עַוְלָה בִּדְרָכָיו הָלָכוּ:ד אַתָּה צִוִּיתָה פִקֻּדֶיךָ לִשְׁמֹר מְאֹד:ה אַחֲלַי יִכֹּנוּ דְרָכָי לִשְׁמֹר חֻקֶּיךָ:ו אָז לֹא אֵבוֹשׁ בְּהַבִּיטִי אֶל כָּל מִצְוֹתֶיךָ:ז אוֹדְךָ בְּיֹשֶׁר לֵבָב בְּלָמְדִי מִשְׁפְּטֵי צִדְקֶךָ:ח אֶת חֻקֶּיךָ אֶשְׁמֹר אַל תַּעַזְבֵנִי עַד מְאֹד:
נקרא  22  פעמים

לוח מודעות

למעלה