Data Validation تاریخ - و تکرار یک عدد به مقدار دلخواه در سلول ها

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • a.dal65

    • 2011/04/29
    • 384
    • 67.00

    Data Validation تاریخ - و تکرار یک عدد به مقدار دلخواه در سلول ها

    اساتید من یه سلول تاریخ دارم به این صورت:
    1394/01/31
    حالا Data validatin براش به این صورت میزنم خطا میده:
    کد:
    Date(yyyy/mm/dd)
    سوال دوم :
    تابعی هست که مبلغی دلخواهی از یه عدد رو توی n سلول تکرار کنه؟
    یعنی بزنم 1میلیون تومن - 12 بار
    این 1 میلیون تومن رو توی 12 تا سلول برام بنویسه.
    فایل رو ضمیمه کردم
    فایل های پیوست شده
  • Ali Parsaei
    مدير تالارتوابع اکسل

    • 2013/11/18
    • 1522
    • 71.67

    #2
    سلام،
    data validation به اين صورت غلط است، جواب نمي دهد!
    چيزي که به ذهنم مي رسد اين است که فرمت سل را به صورت: ##"/"##"/"#### در آوريد و در ديتا وليديشن هم طول متن وارده را روي 8 کاراکتر تنظيم کنيد. بعد در پيغام خطاي ديتا وليديشن هم بنويسيد: لطفا" تاريخ را به صورت کامل و بدون مميز وارد کنيد مثال: 13940320
    [SIGPIC][/SIGPIC]

    کامنت

    • generalsamad
      مدير تالار توابع

      • 2014/06/22
      • 1496

      #3
      با سلام
      سوال اولتون رو متوجه نشدم
      برا سوال دومتون ببینید این روش خوبه؟
      کد PHP:
      =if(column(a2)<$m8;$n8;""
      یا این فرمول
      کد PHP:
      =if(row(a1)<s$18;s19;""
      فایل ضمیمه گردید
      فایل های پیوست شده
      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • a.dal65

        • 2011/04/29
        • 384
        • 67.00

        #4
        ممنون آقای پارسا
        با همین روش شما درست شد سوال اولم.:6:

        generalsamad ممنون که هم سطری درست کردی هم ستونی :11:.:53:
        من میخوام توی جدول به همون صورت که زده بودم بیاد.(یعنی پشت سر هم)
        اگه این کار بشه خیلی کار راه انداز هست برام.


        اگر محدودیتی داشتی
        میشه یه سلول اضافه کنم که تعداد کل اقساط باشه . و از اون تعداد 12 تا 1 تومن بزنه 8 تا 1.8 بزنه و الی آخر
        سلول کمکی و هر چیزی هم که لازم داشتی بزار.
        فایل های پیوست شده

        کامنت

        • generalsamad
          مدير تالار توابع

          • 2014/06/22
          • 1496

          #5
          با سلام
          از این فرمول برای فایل ضمیمه استفاده شده
          کد PHP:
          =IFERROR(INDEX(List1;ROWS(I$1:$I1));IFERROR(INDEX(List2;ROWS(I$1:$I1)-ROWS(List1));IFERROR(INDEX(List3;ROWS(I$1:$I1)-ROWS(List1)-ROWS(List2));IFERROR(INDEX(List4;ROWS(I$1:$I1)-ROWS(List1)-ROWS(List2)-ROWS(List3));IFERROR(INDEX(List5;ROWS(I$1:$I1)-ROWS(List1)-ROWS(List2)-ROWS(List3)-ROWS(List4));""))))) 
          لیست1 تا لیست5 نام گذاری شده
          به Name Manager مراجعه کنید
          بطور مثال برای List 1 از این فرمول استفاده شده
          کد PHP:
          =INDIRECT("$j$5:j"&4+Sheet1!$J$4
          فایل ضمیمه گردید
          فایل های پیوست شده
          [CENTER]
          [SIGPIC][/SIGPIC]
          [/CENTER]

          کامنت

          • a.dal65

            • 2011/04/29
            • 384
            • 67.00

            #6
            واقعا ممنون آقای generalsamad
            توی عمر 15 ساله ای که توی اینترنت تا حالا داشتم ، یکی از پاسخگوترین و کار راه انداز ترین انجمن ها "اکسل ایران" بوده .
            ممنون از توجه و زحماتی که بی دریغ و بدون منت برای کاربر های مثل ما میکشید.
            از صمیم قلب تشکر میکنم ازتون بابت وقتی که گذاشتید.

            فقط 2 تا سوال دارم در موردش ممنون میشم توضیح بدی.
            1.این تیکه کد رو برام توضیح میدید :
            کد:
            [LEFT][B]=INDIRECT("$j$5:j"&4+sheet1!$J$4)[/B]
            [/LEFT]
            که کلا چی هست و اون 4& برای چیه که توی همه name manager ها هست

            2.این کد
            کد:
            =IF(ROW([B]A1[/B])<J4;J5;"")
            a1 , a2 , a3 , ... یا توی ستون های دیگه شده b1 و ....
            این کارش چیه و چیکار میکنه.

            و 1 اشکال داره وقتی تعداد اقساط رو 0 وارد میکنم هم 0 رو توی ستون نارنجی میاره هم اگه عددی زیرش داشته باشه میاره.

            کامنت

            • generalsamad
              مدير تالار توابع

              • 2014/06/22
              • 1496

              #7
              با سلام

              کد PHP:
              =INDIRECT("$j$5:j"&4+sheet1!$J$4
              یکی از توابع جستجو indirect میباشد که آرگومان اون میتونه آدرس باشه یا متن ( که این متن آدرس سلول یا آرایه ای میباشد)
              فرمول رو باید طوری نوشت که محدوده اعداد رو برای هر ستون تشخیص بده
              توی فایل ضمیمه ما برای هر ستون 1 مبلغ و تعداد اقساط رو داریم میخواهیم بر اساس این 2 سلول مقادیر پر بشه
              برای لیست1 آدرس $j$5:$J$16 مورد نیاز ما هست
              قسمت شروع آرایه برای ما مشخص هست $j$5:j مشخص هست که توی " " گرفته چون بصورت متن وارد شده برای آدرس پایان ، ردیف رو باید نسبت به تعداد اقساط که توی سلول $j$4 وجود داره بدست آورده و با عدد 4 جمع کنیم . دلیل این عدد 4 چون اقساط از سطر 5 شروع میشه -1 میکنیم.
              علامت & بعد از " که اومده کارش اینه که مقدار یک سلول یا یک عدد رو به رشته میچسبونه
              indirect("$j$5:J"&12+4) که این آدرس با این آدرس یکی هست indirect("$j$5:J16") و این محدوده اعدادمون برای ستون لیست1 میباشد

              برای سوال دوم
              کد PHP:
              =IF(ROW(A1)<J4;J5;""
              مقدار row(a1) برابر است با 1
              برای row(a2) برابر است با 2
              یعنی مقدار ردیف را برای ما بر میگردونه
              دلیل استفاده از این تابع این هست که میخواهیم به تعداد یک سلول یک مقدار رو تکرار کنیم که وقتی فرمول رو به پائین درگ میکنیم به همون تعداد مقدار تکرار میشه
              روی اشکالی که فرمودید بر اساس اینکه تعداد اقساط حداقل 1 باشه جواب میده
              [CENTER]
              [SIGPIC][/SIGPIC]
              [/CENTER]

              کامنت

              • a.dal65

                • 2011/04/29
                • 384
                • 67.00

                #8
                آقای generalsamad
                من هر کاری کردم که این مشکل صفر رو درست کنم نتونستم
                هر جور if نوشتم یا هر چی که به ذهنم میرسید پیاده کردم ولی باز درست کار نمیکرد یه جاهایی
                چیز خاصی به ذهنتون نمیرسه ؟

                کامنت

                چند لحظه..