در شکل بالا در تصویر اول در یک شیت مجزا اطلاعاتی از قبیل تاریخ ،شماره شناسایی مشتری و یک ستون پرداخت ( بصورت Yes و No ) پر شده .... در تصویر زیر آن قرار است در ستون های عنوان هر شماره شناسایی مشتری طبق سالی که پرداخت کرده تعداد یا کانت Yes یا No درج گردد.
۱-گرفتن شماره ردیف آخرین داده واردشده در ستون ۱ ، اگر داده خالی وجود داشته باشد شماره ردیف ماقبل آنرا را باز می گرداند پس به این نکته دقت کنید تا ستونی را انتخاب کنید که حتما تمام ردیف های آن پر باشد.
lastRow=Sheets("Data").Cells(Rows.Count,1).End(xlUp).Row
۲-معرفی آرایه پویا :
Dim Arr()
ReDim Arr(lastRow-2,1)
۳-شماره رکورد اول در آرایه :
Num=0
۴-ذخیره داده در آرایه :( شیت تصویر اول در شکل)
For L=2 To lastRow
If Sheets("Data").Range("C" & L)=Yes Then
Arr(Num,0)=Year(Sheets("Data").Range("A" & L)
Arr(Num,1)=Sheets("Data").Range("B" & L)
Num=Num+1
End If
Next
کانت یا شمارش با لوپ زدن در آرایه :
Counter=0
For i=0 To Num-1
If Arr(i,0)=YEAR And Arr(i,1)=ID Then
Counter=Counter+1
Next
برای درج کانت یا شمارش Yes و No طبق ID و سال Date در تصویر پائین شکل بالا باید لوپ های تودرتو ایجاد کرد.
For YEAR=2011 To 2026
For ID=1 TO 30
'here use Counter
NEXT
'here display in cells ( Counter )
NEXT
لوپ اول در ردیف ها ( درج تعداد ) و لوپ دوم در ستون ها
۷ دیماه ۱۴۰۲
۷ دیماه ۱۴۰۲ :
سید محمد شفیعی در یادداشتی برای دیپلماسی ایرانی می نویسد: ایران نیازی به دخالت مستقیم خود ندارد و میتواند با استفاده از نیروهای نیابتی خود (هدف قرار دادن بلندیهای جولان از طریق خاک سوریه، تقویت انصارالله برای مختل کردن تجارت دریایی اسرائیل و تقویت حماس برای ایجاد تغییر در موازنه جنگ)، شرایط را برای اسرائیل در ادامه جنگ سختتر کند و با صبر راهبردی میتواند این ترور را تلافی کند
۱۳ دیماه ۱۴۰۲ : عملیات تروریستی
ثارالله انکوتی در گفتگو با گروه اجتماعی پایگاه خبری تحلیلی راه آرمان که از شاهدان عینی موج انفجار ترویستی، گفت: مسیر ورودی به گلزار شهدا از سمت ورودی مسجد فروزی قتلگاه بود.
وی ادامه داد: در موکب مشغول خدمترسانی بودیم که متأسفانه صدای بسیار مهیبی شنیده شد با سرعت خود را به سمت محل حادثه رساندم که زمین را از پیکر شهدا پوشیده دیدم.
دیماه ۱۴۰۲
رویا حشمتی براساس رأی شعبه ۲۶ دادگاه انقلاب با اتهام تبلیغ علیه نظام، به یک سال حبس محکوم شد و قرار بود که یکبیستم آن اجرا شود، اما در نهایت او دو روز هم بیشتر از حکم خود در زندان ماند.
رأی شعبه ۱۰۹۱ مجتمع قضائی ارشاد نیز چنین بوده است: «این دادگاه مجموعا خانم رویا حشمتی را به ۱۳ سال و ۹ حبس محکوم کرده بود. این شعبه، بابت اتهام حضور در معابر بدون حجاب شرعی، خانم حشمتی را به پرداخت یک میلیون و ۲۵۰ هزارتومان جزای نقدی، بابت اتهام تشویق به فساد و فحشا به تحمل ۱۲ سال و شش ماه حبس، بابت اتهام جریحهدارکردن عفت عمومی به تحمل ۷۴ ضربه شلاق تعزیری و بابت اتهام ساخت و انتشار آثاری که عفت عمومی را جریحهدار میکند، به تحمل یک سال و سه ماه حبس تعزیری، ۷۴ ضربه شلاق و ۱۰۰ میلیون ریال جزای نقدی محکوم کرد».
این حکم مورد اعتراض و تجدیدنظر خواهی قرار میگیرد و در نهایت با ارجاع به شعبه ۱۴ دادگاه تجدیدنظر استان تهران، رویا بابت اتهام تشویق به فساد و فحشا و ساخت و انتشار آثاری که عفت عمومی را جریحهدار کرده، تبرئه میشود. اما با اتهام حضور در معابر بدون حجاب شرعی، به پرداخت یک میلیون و ۲۵۰ هزار تومان جزای نقدی و به جهت اتهام جریحهدار کردن عفت عمومی به ۷۴ ضربه شلاق محکوم میشود و این حکم درست در روز مادر اجرا میشود.
کاربرد تابع XLOOKUP برای پیدا کردن چیزهایی در یک جدول یا محدوده توسط ردیف.بعنوان مثال جستجو کردن قیمت یک قطعه توسط شماره قطعه یا پیدا کردن نام کارمند بر اساس آیدی کارمندیشون. با XLOOKUP می توان در یک ستون به دنبال عبارت جستجو بگردید و بدون توجه به اینکه ستون برگشتی در کدام سمت است،نتیجه ای را از همان ردیف در ستون دیگر بر می گرداند.
XLOOKUP در اکسل 2016 و 2019 موجود نیست
جایگزینی برای HLOOKUP است
در جدول زیر از دو XLOOKUP استفاده شده که با توجه به عنوان ستونی که می خواهید مقدار در ردیف های ستون Income بازگردانده شود
The XLOOKUP function searches a range or an array, and then returns the item corresponding to the first match it finds. If no match exists, then XLOOKUP can return the closest (approximate) match. *If omitted, XLOOKUP returns blank cells it finds in lookup_array.
این تابع یک محدوده یا یک آرایه جستجو کرده و سپس آیتمی مطابق با اولین چیزی که پیدا می کند را باز می گرداند.اگر تطابق نداشت این تابع می تواند نزدیکترین ( تقریبی ) را پیدا کند اگر از آن صرفنظر شود ( آرگومان مورد نظر از تابع خالی رها شود ) این تابع سلول های خالی در آرایه مورد جستجو را باز می گرداند.
روش دوم :
استفاده از تابع SEARCH اگرنبود تابع FIND
استفاده از تابع IF و COUNTIF در ستون G به صورتیکه اگر سلی در ستون F برابر یک شده کانت 1 را در رنج $F$3:F3 در سل مربوطه درج کند.
نمونه ی استفاده از تابع SEARCH در تصویر زیر
فرمول همراه با تابع Index در ستون H
([MATCH(lookup_value, lookup_array, [match_type
(MATCH(ROWS($G$3:G3),$G$3:$G$22,0
عملکرد تابع ROWS (برگشت تعداد ردیف ها ) در رنج مشخص شده - وقتی فرمول به پائین کشیده شود ( DRAG ) قسمت اول که $ دارد ثابت میماند و قسمت دوم یعنی G3 اعدادش نسبت به قبلش یک واحد بصورت افزایشی تغییر میکند یعنی G3 میشود G4 و سل بعد G5 و ...
ROWS($G$3:G3) : 1
ROWS($G$3:G4) : 2
ROWS($G$3:G5) : 3
ROWS($G$3:G6) : 4
ROWS($G$3:G7) : 5
ROWS($G$3:G8) : 6
ROWS($G$3:G9) : 7
عملکرد تابع MATCH یعنی تعیین موقعیت ( اعداد برگشتی تابع بالا پارامتر آرگومان اول تابع MATCH شده اند )
MATCH(1,$G$3:$G$22,0)=1=
MATCH(2,$G$3:$G$22,0)=7=
همانطور که در بالا مشاهده می کنید موقعیت عدد یک را در ستون G نمایش میدهد که 1 است و همینطور موقعیت عدد 2 در ستون G که 7 است را برمی گرداند و برای اعداد بعدی ( حاصل تابع ROWS بالاتر ) که 3 و ... هست چون وجودندارند صفر است .
حال تابع بالا ( MATCH ) میشود آرگومان Row در تابع INDEX
([INDEX(array, row_num, [column_num
(INDEX($E$2:$E$20,1=
(INDEX($E$2:$E$20,7=
:Here are the steps to create it
درستون H از دوتابع MATCH و INDEX استفاده شده که تابع MATCH موقعیت موردجستجو را برمی گرداند .
Private Sub ComboBox1_Change() ComboBox1.ListFillRange = "DropDownList" Me.ComboBox1.DropDown End Sub
برگشت تعداد ردیف ها در یک رفرنس
برگشت شماره ردیف یک رفرنس
برگشت کوچکترین مقدار در یک دسته
برگشت رفرنس مشخص شده به حالت رشته متنی
The Excel INDIRECT function returns a valid reference from a given text string
در اکسل اگر بخواهید در فرمول خاصی ، رنجی را بگنجانید از Indirect استفاد می کنید چون در حالت عادی نمی توانید در سل خاصی رفرنسی را بنویسید و در فرمول دیگر به آن ارجاع بدهید .
A1 A B
تجربی 1001
ریاضی 1002
انسانی 1003
تجربی 1001
تجربی 1004
جمع تعداد کاراکترهای رنج مشخص شده را برمیگرداند .
=SUM({3;3;5;4;5;4;6;5;4;4})
=SUMPRODUCT(LEN(A1:A5))
منبع زیر از سایت خارجی است و طبق نگاه اجمالی و کدنویسی VBA باید درست باشد.
This example selects cell A154 on Sheet1 and then scrolls through the worksheet to display the range
Application.Goto Reference:=Worksheets("Sheet1").Range("A154"), scroll:=True
ws2.Range("A" & RowNum).Select
کپی کردن دیتای جدول بالا به پایین و نامگذاری چک باکس ها به 2011 و 2012 و لینک به سل هایی که بین دوتا جدول است و True نوشته شده در جدول پایین بجای دیتاهای 2011 و 2012 باید نوشته شود اگر C7=True,C3,False و برای 2012 هم همینطور و چارت کشیده شود که باید دیتا سورس هاعوض شود.
مرجع یا رفرنسی به محدوده ای که تعداد مشخصی از ردیف ها و ستون ها از یک سلول یا دامنه سلول است را برمی گرداند. مرجع برگشتی می تواند یک سلول واحد یا طیف وسیعی از سلول باشد. می توانید تعداد ردیف ها و تعداد ستون هایی که باید برگردانید را مشخص کنید.
([OFFSET(reference, rows, cols, [height], [width
آرگومان دوم و سوم که اجباریست میتواند هم عدد مثبت باشد و هم منفی ولی دو تای آخر انتخابیست یا به قولی آپشنال حتما باید عدد مثبت باشد در غیر اینصورت با REF# مواجه خواهید شد... فرضا اگر Cols عدد ۵ در نظر گرفته شود جابجایی از رفرنس تعریف شده 5 کالمن به سمت راست می باشد( بغیر از خود ردیفی که قرار است در نظر گرفته شود برای حرکت کردن افقی ) یا اگر منفی باشد 5 کالمن به سمت چپ .اگر Cols یا Rows هم وجود نداشته باشد منظور تعداد ردیف ها بیشتر از آنچه باشد که در نسخ قدیم و جدید است خطای REF# دوراز انتظار نیست یا Refrens فرضا D2 باشد و شما در Cols عدد 4- را ذکر کنید.البته امتحان کنید تا صحت یا عدم آن اثبات شود.
در کل منظور این است که سلی را جابجا نمیکند فقط مرجعی میدهد که در توابع دیگر استفاده شود.
SUM(OFFSET(C2,1,2,3,1)) calculates the total value of a 3-row by 1-column range that is 1 row below and 2 columns to the right of cell C2
SUM(B10:C10)
تبدیل رنج به جدول و انتخاب آن
............ .................... ............... ............
جمع فروش ( در رنج مشخص شده ی بالا ) به شرطی که Quarter آن بزرگتر از 2 ( خود 2 را شامل نمیشود ) و Area دقیقا برابر North باشد.
D10, D11, D14 & D15, and therefore returns
. the value $1,210,000
F | G | |
---|---|---|
1 | Quarter | Area |
2 | >2 | North |
3 | =DSUM( A1:D17, "Sales", F1:G2 ) |
جمع فروش به شرطی که Quarter آن 3 و Sales Rep با کاراکترC شروع شده باشد.
F | G | |
---|---|---|
1 | Quarter | Sales Rep. |
2 | 3 | C* |
3 | =DSUM( A1:D17, "Sales", F1:G2 ) |
$710=250+460
(DSUM(database,field,criteria=
(DSUM(Datatable,2,B1:C2=
این تابع سه آرگومان دارد اولی محدوده دومی نام فیلد یا اسم ستون و سومی شرط
جمع اعداد یا عدد ستون Bonus در رنج مشخص شده به شرطی که ستون Position فقط شامل NV باشد.
Trees جدول است میتوانید رنج را کلیک راست کرده و تبدیل به جدول کنید..... ListObjects
Pro Tip: To convert a range of cells to an Excel Table, select the cells and use the keyboard shortcut – Control + T (hold the
( Control key and press the T key
Example
The following code sample removes duplicates with the first 2 columns.VB
[INDEX(reference, [row_num],[column_num],[area_num
((INDEX($B$3:$E$10,MATCH($G$5,$A$3:$A$10,0),MATCH($H4,$B2:$E$2,0=
میانگین Area_Num که در B1 دو تعیین شده
(42+4,800+10+3,126
+3,629+94+1,578+1,190
+54)÷11=1320.2727