كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> عمومي برنامه‌نويسي
پاسخ دادن به این موضوع
برنامه نویسی در اکسل
پست تاریخ: جمعه 19 آذر 1389 - 19:31    
mojtaba13
شروع فعاليت
شروع فعاليت


پست: 25
عضو شده در: 22 مرداد 1387
محل سکونت: shiraz
blank.gif


امتياز: 264

عنوان: برنامه نویسی در اکسل خواندن مشخصات فردی ارسال پیام شخصی

سلام خدمت تمامی دوستان یه سوال آسون از بچه های کامپیوتری دارم
می خوام توی اکسل یه برنامه بنویسم که اولا دیتا و ورودی تکراری قبول نکنه و پیغام تکراری بودن بده و دوم اینکه من عدد کل رو بگم و بعد از اینکه هر سلی رو پر کردم از مقدار کل کم بشه مثلا 1000 رو دارم و بعد که میزنم 20 مقدار باقیمانده رو 980 نشون بده
می دونم هم سوالم خیلی آسونه و مزخرف هم خیلی بد بیانش کردم خلاصه ببخشید دیگه. اگه با یه مثال دلخواه واسم بیانش کنید ممنون میشم
در اصل یه فرمول واسه تکرار نشدن و یه فرمول واسه کم کردن از کل
فداتون

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: شنبه 20 آذر 1389 - 13:47    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5504
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47846

عنوان: پاسخ به «برنامه نویسی در اکسل» خواندن مشخصات فردی ارسال پیام شخصی

سلام؛
اینکه نوشتید «تکراری قبول نکنه» یعنی چی؟
اگر منظورتون این هست که مثلاً من اگر در یک سلول وارد کردم x اکسل کل شیت رو بگرده و اگر در سلول دیگری x دید، اجازه نده که شما x وارد کنید، خیر، تا جایی که من می‌دونم این امکان وجود نداره و با عقل هم جور در نمیاد. (گشتن کل شیت یا حتی یک محدوده خاص خیلی طول می‌کشه)

اما اینکه هر عددی وارد می‌کنید، منهای یک عدد دیگه بشه، این هم باز شدنی نیست.
یک سلول یا ثابت هست و باید کاربر وارد کنه و یا اینکه از طریق محاسبه به دست میاد.
شما می‌خوای هم خودت وارد کنی و هم محاسبه بشه! نمی‌شه...
برای این کار، باید طوری تنظیم کنی که کاربر در یک سلول داده وارد کنه و اون داده منهای خونه x رو در یک سلول دیگه ببینه.
مثلاً در A1 داده وارد بشه و شما در A2 نوشته باشی:
کد:
=A3-A1

که طبیعتاً در A3 مقدار کل رو وارد کردید...

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 22 آذر 1389 - 14:04    
dalir
عضو تیم توسعه تستا
عضو تیم توسعه تستا


پست: 196
عضو شده در: 28 خرداد 1389

iran.gif


امتياز: 1987

عنوان: یک سوال از اکسل رتبه بندی در اکسل خواندن مشخصات فردی ارسال پیام شخصی ارسال email

با سلام یک سوال از اکسل در مورد رتبه‌بندی در این مثال ستون اول نمره و ستون دوم رتبه هرکدام از نمرات وجود دارد ودر ستون بعدی فرمول رنکینک (رتبه بندی)
نمره رتبه
20 1
20 1
20 1
20 1
19 5
19 5
18 7
18 7
17 9
17 9
10 11
10 11
در این مثال نمره‌ی 19 باید رتبه‌ی 2 و نمره‌ی 18 رتبه‌ی 3 و نمره ی17 رتبه 4 ... . باید باشد
ولی در این مثال چنین نیست چرا؟ آیا راه دیگری برا‌ی رتبه‌بندی وجود دارد؟
با تشکر

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 22 آذر 1389 - 21:53    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5504
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47846

عنوان: پاسخ به «برنامه نویسی در اکسل» خواندن مشخصات فردی ارسال پیام شخصی

dalir, جان،
چه فرمولی در سلول‌های مستون «رتبه» نوشتید؟ اون رو اینجا بذارید ببینم مشکلی داره یا خیر. از روی نتایج که نمی‌شه چیزی فهمید...
به هر حال، فرمولتون باید اینطور باشه:
کد:
=IF(A1=20;"1";IF(A1=19;"2";"3"))

البته به جای "3" باید همینطور از if استفاده کنید. طبیعتاً 20 تا if تو در تو می‌شه...

البته راه‌هایی هست که دستور switch که در برنامه‌نویسی داریم رو هم به اکسل اضافه کنید که من پیشنهاد نمی‌کنم.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: دوشنبه 22 آذر 1389 - 22:08    
dalir
عضو تیم توسعه تستا
عضو تیم توسعه تستا


پست: 196
عضو شده در: 28 خرداد 1389

iran.gif


امتياز: 1987

عنوان: پاسخ به «برنامه نویسی در اکسل» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

باتشکر از شما حمید جان
فرمولی که استفاد کردم

(RANK(A1,A$1:A$12=
با فرمولی که شما نوشتید جواب نداد

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: سه‌شنبه 23 آذر 1389 - 00:24    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5504
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47846

عنوان: پاسخ به «برنامه نویسی در اکسل» خواندن مشخصات فردی ارسال پیام شخصی

بله، این فرمول جایگاه رو نشون می‌ده. یعنی مثلاً اگر به صورت صعودی بچینیم، عدد 19 در سطر 5 قرار می‌گیره که این می‌شه رنکش.
طبق قاعده داره درست نشون می‌ده...
اما شما بیشتر منظورتون از رنک، گروه‌‌بندی هست و می‌گید مثلاً نمره 20 در گروه 1 و نمره 19 در گروه 2 قرار می‌گیره.

حالتی که می‌خواهید خیلی خاصه. وگرنه با این فرمول:
کد:
=COUNT($A$1:$A$5)-(RANK(A1;$A$1:$A$5)+COUNTIF($A$1:A1;A1)-1)+1

می‌شه رتبه رو بدون در نظر گرفتن مساوی‌ها بیان کرد. مثلاً نفر اولی که 20 گرفته، می‌شه رتبه 1، نفر دوم لیست می‌شه 2، ... نفر پنجم که 19 گرفته، رتبه‌ش می‌شه 5 و همینطور تا آخر...
اما شما می‌خواهید هر کی 20 گرفت، بشه رتبه 1، هر کی 19 گرفت بشه 2 و ... که ربطی به جایگاه و سطر نداره.
شاید بشه با فرمول‌های خیلی خیلی پیچیده به دست آورد.
مثل فرمول‌های این صفحه:
http://www.cpearson.com/excel/Rank.aspx
اما من که بعد از نیم ساعت فکر کردن، به نتیجه‌ای جز اونی که اول گفتم، نرسیدم.
البته بعد از اینکه این فرمول طولانی رو تهیه کردم:
کد:

=IF(A1=20;"1";IF(A1=19;"2";IF(A1=18;"3";IF(A1=17;"4";IF(A1=16;"5";IF(A1=15;"6";IF(A1=14;"7";IF(A1=13;"8";IF(A1=12;"9";IF(A1=11;"10";IF(A1=10;"11";IF(A1=9;"12";IF(A1=8;"13";IF(A1=7;"14";IF(A1=6;"15";IF(A1=5;"16";IF(A1=4;"17";IF(A1=3;"18";IF(A1=2;"19";IF(A1=1;"20";"21"))))))))))))))))))))

به این نتیجه رسیدم که خوب ما می‌تونیم برای به دست آوردن رتبه هر فرد، نمره‌ش رو از 21 کم کنیم دیگه Embarassed Very Happy
و من عاشق کشف الگوریتمم Wink

در نتیجه:
برای ستون رتبه، فقط کافیه که بنویسید:
کد:
=21-A1

و به سطرهای بعدی تعمیم بدید...
همین!
حالا اگر یکی مثلاً نمره‌ش بشه 19، در ستون رتبه خواهیم داشت: 21 منهای 19 یعنی 2


در مورد اینکه گفتید از فرمول بالا جواب نگرفتید، شاید از آفیس 2003 استفاده می‌کنید.
دقت کنید که اونجا باید به جای ; از , استفاده کنید.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست: dalir (سه‌شنبه 23 آذر 1389 - 15:04)


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2024. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc