من یک مشکلی دارم در یک سلول میخواهم همیشه مقدار آخرین سلول پر شده یک محدوده از یک ستون را داشته باشم چگونه می توانم اینکار را انجام دهم لطفا هرچه سریعتر من را راهنمایی کنید.
اگر برایتان مقدور است
اردشیر
با سلام خدمت دوست عزیز
جواب سوال شما بدین ترتیب است که اگر محدوده شما پیوسته و تمامی سلولهای آن پر شده باشد ، می توانید از توابع زیر برای اینکار به سادگی استفاده کنید .
کار با این توابع را با ذکر مثالی نشان داده ام.
فرمول خانه D1 و D2 در شکل نشان داده شده است ،
|
A |
B |
C |
D |
E |
F |
1 |
Day |
Num |
|
Mon |
< - - - - |
=INDEX(A:B,COUNTA(A:A),1) |
2 |
Sun |
2 |
|
14 |
< - - - - |
=INDEX(A:B,COUNTA(B:B),2) |
3 |
Mon |
4 |
|
|
|
|
4 |
Tue |
6 |
|
|
|
|
5 |
Wed |
8 |
|
|
|
|
6 |
Thu |
10 |
|
|
|
|
7 |
Fri |
12 |
|
|
|
|
8 |
Sat |
14 |
|
|
|
|
9 |
Sun |
|
|
|
|
|
10 |
Mon |
|
|
|
|
|
اما اگر ! محدوه شما غیر پیوسته باشد حالت خاصی پیش میآید و فرمول نویسی آن با مراجع دورانی به سختی میسر است و میدانیم که مراجع دورانی حداکثر Iterations = 32767 خواهد بود و این درحالی است که شما 32536 خانه در اکسل دارید، پس اینهم نا کارآمد است. (البته اینکار انجام شدنی است).
اما راه حل اصولی اینگونه موارد نوشتن یک تابع ساده است و من این تابع را برای شما مینویسم ، برای استفاده از این تابع مراحل زیر را برای ایجاد آن طی کنید .
Function FINDLASTVALUE(CellRange As Range)
' THIS FUNCTION FIND FINAL VALUE IN A SPECIFIC RANGE
For Each C In CellRange
If C.Value <> "" Then
FINDLASTVALUE = C.Value
End If
Next C
End Function
حال در اکسل تابعی به نام FINDLASTVALUE دارید که توسط آن میتوانید مقدار آخرین خانه هر محدوده را پیدا کنید .
بعنوان مثال در اکسل مینویسیم :
=FINDLASTVALUE(A:A)
که آخرین مقدار را در محدوده ستون A برای ما پیدا میکند