تابع شمارش تعداد تکرار کلمات در اکسل

تابع شمارش تعداد تکرار کلمات در اکسل تابع ارائه شده در این مقاله یک تابع برداری است و کار آن به این صورت است که تعداد دفعات تکرار کلمات در یک محدوده را شمارش می کند. این تابع برداری است و بنابراین برای اجرای آن باید به جای Enter کلیدهای Ctrl+ Shift + Enter را فشار دهید. همچنین برای اجرا چون نمیدانیم چند کلمه منحصر به فرد در متن وجود دارد باید به طور حدسی یک محدوده بزرگتر از تعداد کلمات منحصر به فرد را انتخاب کنید. این تابع دو آرگومان دارد که اولی همان محدوده و دومی یکی از مقادیر 1 یا 2 است. با عدد 1 لیست کلمات منحصر به فرد و با عدد 2 تعداد تکرار هر کلمه ارائه می شود. در تصویر زیر کارکرد این تابع به شما نشان داده شده است : تابع شمارش تعداد تکرار کلمات در اکسل   این هم کد تابع :

برای دریافت نمونه فایل حاوی تابع به فایل پیوست این مقاله مراجعه کنید.

Function WordCount(tbl_array As Range, pos As Integer) As Variant()
               
               Dim cell As Variant, wrds As Variant, i As Integer
               Dim a As Integer, j As Integer
               Dim tmp() As String, nr() As Integer
               ReDim tmp(0), nr(0)
               
               nr(0) = 1
               For Each cell In tbl_array
               wrds = Split(cell)
               For i = 0 To UBound(wrds)
               For j = 0 To UBound(tmp)
               If wrds(i) = tmp(j) Then
               nr(j) = nr(j) + 1
               a = 1
               Exit For
               End If
               Next j
               
               If a <> 1 Then
               tmp(UBound(tmp)) = wrds(i)
               ReDim Preserve tmp(UBound(tmp) + 1)
               ReDim Preserve nr(UBound(tmp))
               nr(UBound(tmp)) = 1
               End If
               a = 0
               Next i
               Next cell
               
               If pos = 1 Then
               ReDim Preserve tmp(UBound(tmp) - 1)
               WordCount = Application.Transpose(tmp)
               Else
               ReDim Preserve nr(UBound(nr) - 1)
               WordCount = Application.Transpose(nr)
               End If
               End Function
               
   
نویسنده : وحید فرزام
تاریخ انتشار : 1394-04-16 04:30:00
3636

9 نظر

user


ثبت نظر 1397-01-28 04:30:00 محمد
با سلام و عرض ادب ماژول مربوط به wordcount رو اجرا کردم ولی فقط برای سلول اول اجرا و شمارش می کنه، ممنون میشم راهنمایی بفرمایید.
ثبت نظر 1397-08-04 03:30:00 zahra ghazavi-khorasgani
عاشقتونمممممممممممممممممممممممممممممممممممممممممم واقعا عالی بود ی عالمه ممنونننننننننننننننننننننننننننننن
ثبت نظر
رضا یحیی پور 1397-08-09 03:30:00
لطف دارید سپاس از انرژی +
ثبت نظر 1397-09-19 03:30:00 صادق شیرازی
سلام دوست عزیز تابع شما عالی بود عالی. خیلی از آن استفاده کردم و کمک بی نظیری به من کرد. از به اشتراک گذاشتن این موضوع خیلی از شما ممنونم موفق و پیروز باشید
ثبت نظر 1397-12-10 03:30:00 فرشید آب نیکی
سلام متاسفنه نتونستم یا بلد نیستم ازش استفاده کنم یکی کمک کنه لطفا
ثبت نظر
رضا یحیی پور 1397-12-16 03:30:00
لطفا با ای دی تلگرام بنده تماس بگیرید https://t.me/RYahyapour
ثبت نظر 1398-04-21 04:30:00 طاهر
سلام در اکسل ۲۰۰۷ دستور word count وجود ندارد . چه باید بکنم؟
ثبت نظر
رضا یحیی پور 1398-05-23 04:30:00
باید کد vba ش تعریف کرده باشید یا بصورت addin یا دستی کد نویسی شده باشد
ثبت نظر 1399-02-23 04:30:00 سپیده
برای اجرای این تابع چکار باید بکنم؟
ثبت نظر 1399-08-02 03:30:00 arman ghahremanian
سلام و وقت بخیر ممنون از مطالب مفیدتون طریقه استفاده از داده برداری چونه است؟
ثبت نظر 1400-01-11 04:30:00 Mostafa Rahimi
با سلام بسیار ممنون از راهنمایی خوب و کد عالیتون اگر تعداد کلمات بیشتر باشه چطور میشه رنج جدول تعداد تکرار کلمات رو بیشتر کرد ممنون میشم راهنمایی کنید
ثبت نظر
رضا یحیی پور 1400-01-11 04:30:00
سلام مشکلی برای تغییر دامنه وجود ندارد البته باید با مفهوم فرمول های برداری اکسل آشنا باشید
ثبت نظر 1400-01-11 04:30:00 Mostafa Rahimi
با سلام و تشکر از فایل علی شما اگر بخوایم تعداد کلمات بیشتری رو بررسی کنیم چطور باید رنج جدول تعداد کلمات را اضافه کنیم (f3:f17)و (e3:E17) ممنون میشم راهنمایی فرمایید

تازه ترین ها