توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : اعمال کلید های ctrl+shift+enter در ماکرو
سلام
لطفا کد لازم برای اینکه فرمول زیر رو توی سلولی قرار بدیم و کلید های CTRL+SHIFT+ENTER اعمال بشه را بنویسید
=SMALL(IF(MAIN!$A$1:$G$46=Variz!C1;ROW(MAIN!$A$1:$ G$46);"");1)
iranweld
2016/08/25, 20:46
نمونه فایل را با توضیح خواسته خود ضمیمه پست کنید مسلما با ماکرو راه ساده تری وجود دارد
سلام
اگه برای دستور ستون E دستور VBA سراغ دارید بگذارید چون شماره سطر $C$ تغییر میکنه
=SMALL(IF(MAIN!$A$2:$C$11=Variz!C1;ROW(MAIN!$A$2:$ C$11);"");1)
ممنون
با سلام
فایل نمونه را ملاحظه کنید.
iranweld
2016/08/27, 10:39
با سلام
فایل پیوست را ملاحظه کنید
Sub Import()
Application.ScreenUpdating = False
z1 = Sheets("MAIN").Cells(Sheets("MAIN").Rows.Count, "B").End(xlUp).Row
Z2 = Sheets("VARIZ").Cells(Sheets("Variz").Rows.Count, "B").End(xlUp).Row
Sheets("VARIZ").Range("E1:F" & Z2).ClearContents
For I = 1 To Z2
For J = 1 To z1
If Val(Sheets("MAIN").Range("C" & J)) = Val(Sheets("Variz").Range("C" & I)) Then
Sheets("variz").Range("E" & I) = Sheets("MAIN").Range("C" & J).Row
Sheets("variz").Range("F" & I) = Sheets("MAIN").Range("B" & J)
Exit For
Else
Sheets("MAIN").Range("E" & I) = ""
End If
Next
Next
Application.ScreenUpdating = True
End Sub
سلام امیر جان
ممنون از جوابتون
دو تا سؤال:
چرا وقتی محدوده رفرنس زیادتر از یه ستون میشه کار نمیکنه
اگه مقادیر پیدا شده در ستون e بیشتر از یکی شد چطور میشه اون دو تا عدد را با هم جمع کرد؟
باز هم ممنون
با سلام
چرا وقتی محدوده رفرنس زیادتر از یه ستون میشه کار نمیکنه
چون از تابع match استفاده کردم .اگر با دو ستون میخواهید مقایسه بشه با کمی تغییر از کد های جناب آقای iranweld (http://forum.exceliran.com/member.php/23192-iranweld) استفاده کنید.
For i = 1 To Z2
For j = 1 To z1
If Val(Sheets("Variz").Range("C" & i)) = Val(Sheets("MAIN").Range("C" & j)) Then
Sheets("variz").Range("E" & i) = Sheets("MAIN").Range("C" & j).Row
ElseIf Val(Sheets("Variz").Range("C" & i)) = Val(Sheets("MAIN").Range("d" & j)) Then
Sheets("variz").Range("E" & i) = Sheets("MAIN").Range("C" & j).Row
End If
Next j
Next i
قسمت دوم سوال رو هم متوجه نشدم.یک مثال بزنید شاید با توابع اکسل به سادگی انجام بشه.
سلام
ببینید فرض کنید ستون a شامل یکسری کد باشه و ستون b هم یکسری عدد
حالا اگه توی ستون a یه کد دوبار تکرار شده باشه یعنی مثلا یه مشتری دو تا پرداخت داشته باشه
چطوری میشه اعداد متناظر اون رو توی ستون b با هم جمع کرد و کد تکراری را حذف کرد
ممنون
ببینید فرض کنید ستون a شامل یکسری کد باشه و ستون b هم یکسری عدد
حالا اگه توی ستون a یه کد دوبار تکرار شده باشه یعنی مثلا یه مشتری دو تا پرداخت داشته باشه
چطوری میشه اعداد متناظر اون رو توی ستون b با هم جمع کرد و کد تکراری را حذف کرد
با سلام
کد زیر رو امتحان کنید براساس تکراری های ستون a مجموع ستون c بدست آمده و تکراری ها حذف میشود.
Sub test()
Dim lr, i, sval As Integer
lr = Sheet4.Cells(Sheet4.Rows.Count, "A").End(xlUp).Row
For i = 2 To lr
sval = Application.SumIf(Range("A2:A" & lr), Range("a" & i), Range("C2:C" & lr))
Range("D" & i) = sval
Next i
On Error Resume Next
Columns("A:D").Select
ActiveSheet.Range("$A$1:$D$" & lr).RemoveDuplicates Columns:=Array(1), _
Header:=xlNo
Range("a1").Select
End Sub
vBulletin® v4.2.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.