এক্সেল ফাংশন কোনও সেল দৃশ্যমান কিনা তা নির্ধারণ করে


12

শর্তসাপেক্ষে বিন্যাসে আমি বর্তমান সেলটির উপরে থাকা সারিটি গোপন বা দৃশ্যমান কিনা তা সনাক্ত করতে চাই। কোনও সেল দৃশ্যমান কিনা তা আমি কীভাবে সনাক্ত করব?

আমি ভাবতে পারি শুধুমাত্র হ্যাক:

  1. সমস্ত 1মান সহ একটি কলাম তৈরি করুন ।
  2. subtotal(109,c2:c2)=1এটি দৃশ্যমান বা লুক্কায়িত কিনা তা নির্ধারণ করতে (যেমন, আমি কেবলমাত্র সেই सेलটিতে যাচাই করতে চাইছি) একটি সূত্র ব্যবহার করুন ।

অস্থায়ী কলাম ব্যতীত কী এমন কোনও উপায় আছে যা সারি দেখানো অবস্থায় দৃশ্যমান থাকতে হবে?


এক্সওয়াই সমস্যা এড়াতে , আমি কী করতে চাই তা হল একটি কলাম যা সারিটির জন্য বিভাগ। একটি নির্দিষ্ট বিভাগের সাথে প্রথম ভিসিবল সারিতে আলাদা স্টাইল থাকা উচিত; পরে একই বিভাগযুক্ত সারিগুলি কিছুটা আলাদা। এএসসিআইআইতে:

cat.   item
+AAA+  aaaa
(AAA)  bbbb
(AAA)  cccc
+BBB+  dddd
(BBB)  eeee
(BBB)  ffff

আমার ফিল্টার সারি লুকিয়ে রাখে তাহলে ddddতারপর আমি সারি সাথে করতে চান eeeeআছে +BBB+পরিবর্তে স্টাইলিং।

উত্তর:


13

অন্য কলামে যোগফল ব্যবহার করে সাবটোটেলের পরিবর্তে, countaকোনও (জ্ঞাত-অ-ফাঁকা) ঘর লুকানো আছে কিনা তা দেখতে আপনি সাবটোটালটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি কলামটি Aসাধারণত দৃশ্যমান হয় (সারিটি গোপন না করা থাকে)

= IF( SUBTOTAL(103,A2)=1, "VISIBLE", "HIDDEN (or blank)" )

আপনি এই সূত্রটি কোনও কলামে রাখতে পারেন যা লুকিয়ে থাকতে পারে এবং এটি এখনও কার্যকর হবে।

শর্তসাপেক্ষে বিন্যাসে, = SUBTOTAL(103,$A2)=1সারিটি দৃশ্যমান কিনা তা নির্ধারণ করতে আপনি কেবল ব্যবহার করতে পারেন:


5

ফ্রোগ্জের উত্তরের সংযোজন হিসাবে, যদি আপনাকে কোনও কলামের কোনও কক্ষ লুকানো আছে কিনা তা পরীক্ষা করে দেখার দরকার হয়, নিম্নলিখিতগুলির মধ্যে দুটি চেষ্টা করুন,

শর্তসাপেক্ষ বিন্যাসন

=CELL("width",TargetCell)=0

কলামটি লুকানো মাত্রই এই স্বয়ংক্রিয়ভাবে আপডেট হয়।

সূত্র চেক

=IF(CELL("width",TargetCell)=0, "Cell is hidden.", "Cell is visible.")

এই সূত্রটি স্বয়ংক্রিয়ভাবে আপডেট হবে না এবং আপনাকে মেনু বিকল্পটি বেছে নিয়ে বা "F9" টিপে এক্সেলকে "এখনই গণনা করুন" তে পরিচালিত করতে হবে।


1

এটি গ্যারি শিক্ষার্থীদের পদ্ধতির অনুরূপ। নিম্নলিখিত ভিবিএ ফাংশনটি সংজ্ঞায়িত করুন:

Function MyRowHidden(ref As Range)
    MyRowHidden = Rows(ref.Row).Hidden
End Function

দেখুন কিভাবে আমি এমএস অফিসে ভিবিএ যুক্ত করব? যদি আপনার এটির সাহায্যের দরকার হয়। এখন আপনি সারিটি রয়েছে কিনা তা পরীক্ষা করতে ব্যবহার করতে পারেনMyRowHidden(cell)cell লুকিয়ে আছে ।

সমস্যাটি সমাধান করার জন্য আমি যেভাবে পরিকল্পনা করেছি সেগুলি একটি সহায়ক কলাম ব্যবহার করে তবে আপনি এটি আড়াল করতে পারেন। ধরে নিই যে 2কলামে বিভাগগুলি সহ আপনার ডেটা সারিতে শুরু হয় Aenter

=OR($A1<>$A2, AND(H1,MyRowHidden(H1)))

কক্ষে প্রবেশ করুন H2এবং নীচে টানুন। এই সূত্রটি সত্য হলে মূল্যায়ন করে

  • এই সারির বিভাগটি ( A2) পূর্ববর্তী সারিতে থাকা বিভাগ থেকে পৃথক (A1 ) ; অর্থাত্, এটি একটি নতুন বিভাগের প্রথম সারি, বা
  • পূর্ববর্তী সারিটি হাইলাইট করা উচিত তবে এটি লুকানো রয়েছে।

তারপরে A2যদি =H2সত্য হয় তবে কেবল হাইলাইট করতে কন্ডিশনাল ফর্ম্যাটিং ব্যবহার করুন ।

উদাহরণ: কাঁচা তথ্য:

        সম্পূর্ণ তথ্য সেট

হ্যাঁ, আমি সনাতনবাদী; আমি এখনও প্লুটোকে একটি গ্রহ হিসাবে গণনা করি। এখানে এটি আবার প্রথম সংখ্যাযুক্ত সারিগুলির (2, 3, 5, 7, 11 এবং 13) লুকানো রয়েছে:

        ফিল্টার ডেটা

অবশ্যই আপনাকে আপনার ওয়ার্কবুকে ম্যাক্রো সক্ষম করতে হবে।


0

সক্রিয় ঘরের উপরে থাকা সারিটি লুকিয়ে রয়েছে কিনা তা সনাক্ত করতে এই ম্যাক্রোটি চালান:

Sub WhatsAboveMe()
Dim r As Range
Set r = Selection
With r
    If .Row = 1 Then
        Exit Sub
    End If
    If .Offset(-1, 0).EntireRow.Hidden = True Then
        MsgBox "the row above is hidden"
    Else
        MsgBox "the row above is visible"
    End If
End With
End Sub

1
তারা কীভাবে এটি শর্তসাপেক্ষ বিন্যাস (প্রশ্নে জিজ্ঞাসা করা) থেকে চালাবে?
চার্লিআরবি

0

এই থ্রেডটি কিছুটা পুরাতন তবে এটি কারও পক্ষে সহায়ক, ভিবিএ ব্যবহার না করে শর্তাধীন ফিল্টার টেবিলে নকলগুলি বিন্যাস করার উপায় এখানে।

  1. 1 এর সাহায্যে একটি কলাম তৈরি করুন
  2. আর একটি কলাম তৈরি করুন এবং এটির মতো সূত্র রাখুন

    =IF(SUBTOTAL(103, [@ColumnWithOnlyOnesInIt])=1, [@ColumnYouWantToCheckForDuplicates], "")

  3. আপনি যে কলামটি পরীক্ষা করতে চান তাতে স্বাভাবিক ডুপ্লিকেট শর্তসাপেক্ষ বিন্যাসে রাখুন।

পদক্ষেপ 2 থেকে সূত্রটি আপনি যে কলামটি পরীক্ষা করতে চান তা থেকে কপি করবে তবে কেবল সারিটি দৃশ্যমান হলেই visible এইভাবে, যখন সদৃশগুলি পরীক্ষা করা হয়, আপনি কেবল ফিল্টার টেবিলের জন্য প্রযোজ্য পাবেন। আমি মনে করি এটি জিরো (বা "" বা আপনার যদি বিবৃতিতে "অন্য" মান হিসাবে বেছে নেয়) এর জন্য কাজ না করে। সুতরাং আপনার তালিকায় একটি লাইন শূন্য মান পাওয়া সম্ভব যা সদৃশ হিসাবে হাইলাইট করা হয়েছে। তা ছাড়া এই পদ্ধতির সাথে আমার ভাগ্য ভাল।


0

আমি নিম্নলিখিত সূত্রটি ব্যবহার করার প্রস্তাব দেব (যেমন একটি পরিসরে যেমন $ A: $ A):

=AND(A1=OFFSET(A1;-1;0);SUBTOTAL(103;OFFSET(A1;-1;0))=1)

এটি কি করে:

যদি উভয়

  1. ঘরটি উপরের সাথে সমান: A1=OFFSET(A1;-1;0)
  2. উপরের ঘরটি দৃশ্যমান: SUBTOTAL(103;OFFSET(A1;-1;0))=1

তারপরে ফলাফলটি সত্য thus সুতরাং ঘরটি ঠিক উপরে দৃশ্যমান কক্ষের সদৃশ এবং উদাহরণস্বরূপ ধূসর হওয়া উচিত।

সিডনোট: OFFSETফাংশনটি ব্যবহার করে শর্তযুক্ত বিন্যাসটি কোনও অতিরিক্ত সারি is োকানো না হলে ভাঙবে না।


-1

আমি সদ্য ব্যবহার করা সমাধান এখানে:

আমি একটি নতুন কলাম তৈরি করেছি সি (এবং মূলটি (কলাম বি) লুকিয়ে রেখেছি)। নতুন কলামে আমি সূত্রটি = সাবটোটাল (9, বি 2) ব্যবহার করেছি যেটি আপনার আগ্রহী এক সারির সমষ্টিটি। আমি তারপরে সমস্ত সারিটি অনুলিপি করেছি!

এখন, আপনি যখন উন্নত ফিল্টার ব্যবহার করে ফিল্টার করেন। মানগুলি এই কলামে সমস্ত শূন্য হয় যতক্ষণ না সেগুলি প্রদর্শিত (ফিল্টার না করা)।

তারপরে, সাধারণ = SUMIF () চ্যাম্পের মতো কাজ করে। সংক্ষিপ্ত পরিমাণে গোপনীয় কলামটি যোগফল হিসাবে ব্যবহার করবেন না। আপনি সদ্য তৈরি SUBTOTAL () কলাম জুড়ে যোগফল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.