این فرمول در واقع یک فرمول تو درتو می باشد که برای محاسبه مالیات حقوق و دستمزد یک شخص در ماه مورد استفاده قرار می گیرد .لازم میدانم که بگویم اولا این فرمول نیاز مختصری به دانستن حسابداری دارد وثانیا اینکه اعداد مندرج در فرمول براساس جدول مالیات حقوق ودستمزد می باشد که همه ساله بر اساس یک فرمول خاص محاسبه شده واز طریق وزارت اقتصاد و دارائی به اطلاع تمامی شرکتها می رسد که شرکتها نیز بایستی مالیات حقوق را بر این اساس محاسبه و از حقوق کسر نمایند .ناگفته نماند که اعدادمورد محاسبه درفرمول در سال 1385 مورد استفاده قرارمی گرفته است. بنابر این به محض منتشر شدن جدول مالیاتی سال 1386 فرمول را به روز خواهم کرد و در اختیار دوستان قرار می دهم تا بتوانید مالیات حقوقتان را به راحتی محاسبه نمایید.(به غیر از شر کتهای دولتی )
چگونگی محاسبه فرمول :
در محاسبه مالیات حقوق . همیشه دارای یک مبلغی هستیم که به آن معافیت مالیاتی می گویند در حقیقت برای عادلانه تر شدن مالیات مبلغ حقوق در یافتی تا این مبلغ از پرداخت مالیات معاف خواهد بود مابقی حقوق در یافتی مستقیما به جدول مالیاتی برده شده ومحاسبه می شود .
مثال 1 :
کل حقوق در یافتی شخصی در پایان ماه معادل 25,500,000 ریال می باشد مالیات این شخص به ترتیب زیر خواهد بود .
2,500,000 | کل حقوق در یافتی |
(2,160,000) | میزان معافیت |
340,000 | مانده ضربدر 10 درصد |
34,000 | میزان ما لیات |
نکته قابل توجه اینکه چون افراد در جامعه دارای مبلغ حقوق های مختلف می باشند بنابر این همیشه باقیمانده فوق با نرخ ثابت ده درصد محاسبه نخواهد شد . بنابر این لازم است که نرخ های محاسبه با توجه به افزایش حقوق نیز افزایش یابد چرا که در این صورت پرداخت مالیات عادلانه تر خواهد بود . پس طبق جدول مالیاتی نرخ ها از 10 و 20و 25و 30 و35 درصد تشکیل شده است . به مبالغی که در فاصله درصد های مذکور قرار می گیرد طبقه مالیاتی می گوییم .یعنی اینکه اگر حقوق شما را از معافیتی که قبلا ذکر شد کسر کنیم عددی باقی خواهد ماند که این عدد تا مبلغ 5,660,000 ریال با نرخ 10 درصد محاسبه میکنیم بعد اگر باز هم مبلغی باقی ماند آن مبلغ تا میزان 10,493,333 ریال با نرخ 20 درصد و باز هم اگر عددی باقی ماند تا میزان 22,993,333 ریال با نرخ 25 درصد محاسبه میکنیم که اگر باز هم عددی باقی ماند تا میزان 85,493,333 ریال با نرخ 30 درصد محاسبه می کنیم در نهایت اگر باز هم عددی باقی ماند تا میزان
100,000,000 ریال با نرخ 35 درصد محاسبه می کنیم .
از مبلغ (ریال ) | تا مبلغ (ریال ) | نرخ مالیاتی (درصد ) | طبقه مالیاتی | میزان مالیات محاسبه شده |
1 | 2,160,000 | 0% | معافیت مالیاتی | - |
2,160,000 | 5,660,000 | 10% | اول | 350,000 |
5,660,000 | 10,493,333 | 20% | دوم | 966,667 |
10,493,333 | 22,993,333 | 25% | سوم | 1,316,667 |
22,993,333 | 85,493,333 | 30% | چهارم | 4,441,667 |
85,493,333 | 100,000,000 | 35% | پنجم | 23,993,333 |
مثال 2 :
فرض کنید حقوق در یافتی شخصی در پایان ماه معادل 5,660,000 ریال می باشد مالیات این شخص به ترتیب زیر محاسبه می شود .
برای راحتتر شدن موضوع اینگونه میگوییم که طبقه اول مالیات تا 5,660,000 ریال می باشد پس مالیات این طبقه اینگونه خواهد بود که 3500000= 2160000 -5660000 ریال که ده درصد آن مساوی 350000ریال میباشد . اگر5660000 ریال را در سلول a1 بنویسیم فرمول اکسل مساوی خواهد بود با
=if(and(a1>2160000;a1<=5660000);(a1-(2160000))*0.1
در حقیقت این بخش از فرمول برای محاسبه طبقه اول جدول می باشد .
مثال 3 :
فرض کنید حقوق دریافتی شخصی در پایان ماه معادل 10,493,333 ریال ریال باشد مالیات حقوق این شخص به ترتیب زیر خواهد بود .
ابتدا می گوییم چون این عدد بزگتر از 5660000 ریال است پس ما دیگر نیازی به محاسبه مالیات تا 5660000 ریال نداریم چون در فرمول قبلا محاسبه شده است . تنها کاری که می کنیم بایستی مابقی عدد بزرگتر از 5660000ریال را محاسبه کنیم ومالیات طبقه اول را به آن اضافه کنیم . بنابر این :
If(and(a1>2160000;a1<=5660000);(a1-(2160000))*0.1;if(and(a1>5660000;a1<=10493333);(a1-(5660000))*0.2+(350000)
در فرمول بالا وقتی بعد از if and می آوریم در واقع شما دامنه شرط خود را افزایش داده و به نوعی با ایجاد علامت کوچکتر و بزرگتر دامنه شرط خود را با and محدود می کنید . می گویید اگر a1 بزرگتر از 2160000 و A1 کوچکترومساوی با 5660000 باشد آنگاه جواب شرط ما بایستی معافیت را کسر کرده سپس در درصد طبقه اول ضرب کند ادامه فرمول نیز به همین ترتیب چون پرانتز if اول بسته نشده است بنابر این می توانیم if دیگر ایجاد کرده و ادامه می دهیم . اگر a1 بزرگتر از 5660000 و کوچکتر و مساوی با 10493333باشد آنگاه جواب شرط دوم ما بایستی منهای 5660000 سپس در درصد طبقه دوم (20 درصد ) ضرب شود ودر نهایت با حاصل مالیات طبقه اول جمع شود. که جواب فرمول شما مسای 1316667 خواهد شد و نکته قابل توجه اینکه با دادن شرط and در حقیقت شما تمام اعداد بین هر طبقه را مد نظر قرار خواهید داد .
فرمت تابع
: (جواب درصورتی که شرط تابع برقرار نباشد ; جواب درصورتی که شرط تابع برقرار باشد; شرط تابع) IF
نکته : ما در فرمول وقتی علامت بزرگتر از < می گذاریم در واقع خود آن عدد را در نظر نمی آوریم و وقتی علامت <= می گذاریم در واقع خود آن عدد و کوچکتر از آن عدد را مد نظر قرار میدهیم . مهم اینست که فقط 2160000ریال علامت مساوی ندارد که منطق فرمول همین است چون 2160000 عددی است که از پرداخت مالیات معاف است . بقیه اعداد هر طبقه یکبار در فرمول مورد محاسبه قرار می گیرند چون یکباردر یک if ماکسیمم فرمول محسوب شده و در محاسبه قرار می گیرد و در if دیگر مینیمم فرمول در نظر گرفته می شود .
به طور ساده تر : اگر سلول عدد وارده را a1 فرض کنیم می توان گفت :
اگر a1 بزرگتر باشد از 2160000 (شرط تابع ) و a1 کوچکترو مساوی با5660000 باشد آنگاه جواب شرط هر عددی شد منهای معافیت مالیاتی سپس ضربدر نرخ طبقه اول (10% ) در قسمت جواب در صورتی که شرط تابع برقرارنباشد تابع if باید دقت شود که پرانتز اول بسته نشود چون در این صورت قادر به ادامه فرمول نخواهید بود پس ادامه میدهیم اگرa1 < باشد از 5660000 که سقف طبقه اول است (دقت شود که دیگر 5660000 علامت مساوی نمی گیرد چون در این صورت جواب فرمول شما غلط خواهد بود چرا که باید یک بار کوچکتر و مساوی و یک بار دیگر بزرگتر ومساوی باشد که این منطق درستی نیست ) و کوچکترومساوی باشد از 104933333 که سقف طبقه دوم مالیاتی می باشد در این صورت جواب درست اینست که a1 منهای 5660000 سپس در نرخ طبقه دوم (20 % ) ضرب می کنیم جواب هر چه شد با عدد 350000 جمع شود .
( عدد 350000 در حقیقت مالیات طبقه اول در حالتی که ما عدد 5660000 را وارد کرده باشیم می باشد .می دانید چرا این کار را انجام دادیم ؟ چون ما وقتی در فرمول با علامت کوچکتر وبزرگتر فاصله بین اعداد را محدود می کنیم و طبقه به طبقه پیش می رویم پس دیگر نیاز نیست تا فرمول طبقه اول را در طبقه دوم بگنجانیم از طرفی برای درست بودن جواب بایستی مالیات طبقه اول را در جواب طبقه دوم بنگنجانیم پس می توانیم بگوییم جواب طبقه دوم هر چه شد با نهایت مالیات طبقه اول جمع شود )مجددا در بخش جواب نادرست تابع if طبقه دوم با یک if دیگر شروع می کنیم تا تابع تودر تو ادامه یابد که : اگر a1 < باشد از 10493333 و a1 کوچکتر و مساوی 22993333 باشد آنگاه a1 منهای 10493333 جواب هر چه شد ضرب در نرخ طبقه سوم (25 % ) سپس جواب بایستی بنا به همان دلیلی که در بالا ذکر شد با عدد 1316667 جمع شود . لازم به توضیح است که عدد 1316667 از ترکیب دو عدد می باشد یعنی نهایت مالیات طبقه اول و دوم (350000+966667) پس در این قسمت نیز مالیات طبقه های قبلی نیز دخیل شد . ادامه می دهیم که اگر a1 بزرگتر باشد از 22993333 و a1 کوچکتر ومساوی باشد با85493333 (که عدد سقف طبقه چهارم می باشد )
آنگاه a1 منهای 22993333 که جواب هر چه شد در نرخ طبقه چهارم (30%) ضرب می کنیم و با مالیات طبقه های قبلی جمع می کنیم یعنی (350000+966667+ 3125000) = 4441667 ودر نهایت ادامه می دهیم اگر a1 بزرگتر باشد از 85493333 و کوچکتر مساوی 100000000 آنگاه a1 بایستی منهای 85493333 شود سپس در نرخ مالیاتی طبقه آخر (35%)ضرب شود و در نهایت با مالیات محاسبه شده طبقه های قبلی جمع شود .
یعنی با عدد 23191667 جمع شود (اگر عدد 85493333 را در فرمول قرار دهید مالیات تا این طبقه مساوی این عدد خواهد شد )
دقت کنید که در تابع if وقتی پرانتز اول باز شد نباید تا آخر فرمول بسته شود چون فرمول شما تا همان جا که پرانتز بسته می شود خواهد بود . به یاد داشته که پرانتز اول با رنگ مشکی در اکسل مشخص می باشد و با رنگ مشکی نیز بسته می شود بقیه پرانتز ها با توجه به توابع ایجاد شده بعدی به رنگهای دیگر می باشد که این می تواند در تشخیص بهتر شما در مورد ابتدا و انتهای هر تابع کمک کند .
با عرض پوزش از اینکه توضیح فرمول کمی با فرهنگ لغت حسابداری توضیح داده شد چرا که این فرمول نیازمند چنین توضیحی بود .
امید وارم مورد قبول دوستان واقع شود .
سلام. با تشکر از آموزش مفید شما. مشکل من رو برای محاسبه مالیات حقوق برطرف کردید. من می خواستم با دستور VLOOKUP این مساله رو حل کنم. ولی مشکلی که داشتم این بود که درصد مالیات حقوق رو برای رتبه قبلیش در نظر میگرفت. با دستورات IF تو در تو مشکل رو با کمک شما و استفاده از AND داخل اون حل کردم. ممنون و مرسی
سلام جانم
بسیار عالی . خوشحالم که مشکلتون با اطلاعات وبلاگ بنده حل شده . بازم به وب ما سر بزنید و مطالعه بفرمائید و نظر بدید جناب نادر خان