در هر سازمان، شرکت یا کسب‌وکاری، مدیریت دقیق اطلاعات کارکنان یکی از حیاتی‌ترین وظایف بخش منابع انسانی و مدیریت داخلی است. نگهداری سوابق در فایل‌های پراکنده کاغذی یا شیت‌های نامنظم، خطر خطای انسانی و از دست رفتن داده‌ها را به‌شدت افزایش می‌دهد. با استفاده از قابلیت‌های استاندارد اکسل، می‌توان یک دیتابیس ساختارمند و فرم‌محور برای مدیریت پرونده الکترونیک کارکنان پیاده‌سازی کرد.

به تعریف دانشنامه ویکی‌پدیا: «پایگاه داده (Database) به مجموعه‌ای از داده‌های مرتبط و سازمان‌یافته گفته می‌شود که دسترسی، مدیریت، به‌روزرسانی و تحلیل آن‌ها با ساختاری منطقی امکان‌پذیر باشد.»

مبانی طراحی پایگاه داده پرسنلی در اکسل

برای ایجاد یک سیستم یکپارچه و جلوگیری از خطای ورود اطلاعات، تفکیک داده‌های خام از بخش نمایش (داشبورد پرونده) الزامی است. معماری استاندارد این سیستم شامل دو کاربرگ (Sheet) اصلی است:

  • کاربرگ پایگاه داده (Master Data): ثبت اطلاعات هویتی، شغلی و مالی به صورت سطری.
  • کاربرگ پرونده الکترونیک (Profile Dashboard): فرم نمایش و جستجوی اطلاعات هر پرسنل بر اساس کد پرسنلی یا کد ملی.

[A clear, high-resolution screenshot of a Microsoft Excel workbook showing two distinct tabs named 'Database' and 'Employee_Profile', with the Database tab containing structured tabular employee data including Personnel ID, Full Name, National ID, Department, Job Title, and Phone Number.]

مرحله اول: ساخت جدول اطلاعات پایه و اعتبارسنجی داده‌ها

در شیت Database، ستون‌های اطلاعاتی زیر را ایجاد کنید:

  • کد پرسنلی (Personnel_ID)
  • نام و نام خانوادگی (Full_Name)
  • کد ملی (National_ID)
  • واحد سازمانی (Department)
  • سمت شغلی (Job_Title)
  • شماره تماس (Phone_Number)
  • تصویر پرسنلی (Photo_Path)

محدوده داده‌ها را انتخاب کرده و با فشردن کلیدهای Ctrl + T آن را به یک جدول رسمی به نام tbl_Employees تبدیل کنید. برای کنترل صحت داده‌ها، روی ستون کد ملی از ابزار Data Validation استفاده کنید تا طول کاراکترها دقیقاً روی ۱۰ رقم تنظیم شود.

آموزش اکسل

مرحله دوم: طراحی فرم پرونده الکترونیک (داشبورد پرسنلی)

در شیت Employee_Profile، یک کارت پرسنلی منظم طراحی کنید. در بالاترین بخش، سلول C3 را برای انتخاب یا ورود کد پرسنلی در نظر بگیرید.

با اعمال Data Validation از نوع List روی این سلول و ارجاع به ستون کد پرسنلی جدول اصلی، یک منوی کشویی ایجاد کنید.

 

مرحله سوم: فراخوانی خودکار اطلاعات با توابع جستجو

برای نمایش خودکار اطلاعات از شیت پایگاه داده به فرم پرونده، از تابع قدرتمند XLOOKUP (یا ترکیب INDEX و MATCH) استفاده کنید.

=XLOOKUP(C3, tbl_Employees[Personnel_ID], tbl_Employees[Full_Name], "یافت نشد")

برای ستون‌های دیگر نیز فرمول را با تغییر بردار خروجی تکرار کنید:

// Fetch Department
=XLOOKUP(C3, tbl_Employees[Personnel_ID], tbl_Employees[Department], "ثبت نشده")

// Fetch Job Title
=XLOOKUP(C3, tbl_Employees[Personnel_ID], tbl_Employees[Job_Title], "ثبت نشده")

مرحله چهارم: فراخوانی پویای تصویر پرسنلی

برای اتصال عکس به کد پرسنلی:

  1. تصاویر کارکنان را داخل یک پوشه مشخص ذخیره و مسیر فایل را در ستون Photo_Path وارد کنید.
  2. از تب Developer و بخش فرم‌های VBA، قطعه‌کد زیر را برای بارگذاری خودکار تصویر به شیت پروفایل اختصاص دهید:
' Event trigger on cell change to update employee picture
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$3" Then
        Dim photoPath As String
        Dim employeePic As Picture

        ' Retrieve photo file path based on selection
        photoPath = Application.WorksheetFunction.XLookup(Target.Value, Range("tbl_Employees[Personnel_ID]"), Range("tbl_Employees[Photo_Path]"), "")

        ' Delete existing profile picture if present
        On Error Resume Next
        Me.Pictures("ProfilePhoto").Delete
        On Error GoTo 0

        ' Insert new picture if path exists
        If photoPath <> "" And Dir(photoPath) <> "" Then
            Set employeePic = Me.Pictures.Insert(photoPath)
            With employeePic
                .Name = "ProfilePhoto"
                .Left = Range("G3").Left
                .Top = Range("G3").Top
                .Width = 100
                .Height = 120
            End With
        End If
    End If
End Sub