আমি অন্য কোনও ঘরের মানের উপর নির্ভর করে যে কোনও নির্দিষ্ট কক্ষে শর্তযুক্ত বিন্যাস সেট করতে পারি?


69

আমার উদাহরণে আমি শর্তাধীন কলাম B কক্ষগুলি বিন্যাস করতে চাই। এক্স সহ চিহ্নিত চিহ্নিতকারীদের কলাম এ-তে মান অনুসারে ফর্ম্যাট করা উচিত (উদাহরণস্বরূপ মানটি হ'ল 1):

A | B
1 | x
2 | 
3 | 
1 | x
1 | x
4 | 
8 |

// x can be any value and is here merely to mark the cell that should be formatted

গুরুত্বপূর্ণ 2014 দ্রষ্টব্য : সূত্রের ভিত্তিতে শর্তযুক্ত ফর্ম্যাটিং যা অন্যান্য কোষকে অন্তর্ভুক্ত করতে পারে এখন গুগল শীটগুলিতে সম্ভব এবং এক্সেল স্প্রেডশিটগুলি কীভাবে কাজ করে তার সাথে খুব অনুরূপভাবে কাজ করে। এই উত্তর এর ব্যবহার ব্যাখ্যা করে।


3
যেহেতু আপনি যে 2014 নোটটি জুড়েছেন, দয়া করে আধুনিক পদ্ধতির বর্ণনা দেয় এমন উত্তরে চেকমার্কটি সরানো বিবেচনা করুন।

উত্তর:


50

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

সেটব্যাকগ্রাউন্ডআরজিবি () ফাংশনের জন্য ডকুমেন্টেশন

আপডেট: কলাম এ এর ​​মানের উপর ভিত্তি করে একটি সম্পূর্ণ সারির পটভূমির রঙ পরিবর্তন করার একটি গুগল অ্যাপস স্ক্রিপ্ট উদাহরণ এখানে মানটি যদি ইতিবাচক হয় তবে সবুজ ব্যবহার করুন। খালি থাকলে, সাদা। অন্যথায়, লাল। এই সর্বজনীন গুগল স্প্রেডশিটে ফলাফলগুলি দেখুন । (স্ক্রিপ্টটি চালানোর জন্য আপনাকে সাইন ইন করতে হবে, তবে সাইন ইন না করে আপনি এখনও ফলাফল দেখতে পারেন)।

function colorAll() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;
  var endRow = sheet.getLastRow();

  for (var r = startRow; r <= endRow; r++) {
    colorRow(r);
  }
}

function colorRow(r){
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange(r, 1, 1, 3);

  var data = dataRange.getValues();
  var row = data[0];

  if(row[0] === ""){
    dataRange.setBackgroundRGB(255, 255, 255);
  }else if(row[0] > 0){
    dataRange.setBackgroundRGB(192, 255, 192);
  }else{
    dataRange.setBackgroundRGB(255, 192, 192);
  }

  SpreadsheetApp.flush(); 
}

function onEdit(event)
{
  var r = event.source.getActiveRange().getRowIndex();
  if (r >= 2) {
    colorRow(r);
  }
}

function onOpen(){
  colorAll();
}


আমি 13 লাইনটিতে ত্রুটি পেয়েছি: var ডেটার্যাঞ্জ = শীট.জেটরেঞ্জ (আর, 1, 1, 3); আমি যদি নির্দিষ্ট স্ক্রিপ্ট (যেমন ডেভিড) অনুসারে একটি সারি রঙ করার জন্য এই স্ক্রিপ্টটি ব্যবহার করতে চাই, তবে কীভাবে আমি এটি পরিবর্তন করব। এবং আমি সম্ভবত ব্যাকগ্রাউন্ডের পরিবর্তে ফন্টটি পরিবর্তন করব: setFontColor এছাড়াও, আমি কীভাবে আমার স্প্রেডশিটে স্ক্রিপ্টটি চালাব? ধন্যবাদ

2
উদাহরণের লিঙ্কটি আর বৈধ নয়। এই স্ক্রিপ্টটি তৈরি হয়ে গেলে আপনি কীভাবে ব্যবহার করবেন? এই উত্তরটি অনুপস্থিত।
ড্যানিয়েল উইলিয়ামস 21

3
নীচে আমার উত্তরে বর্ণিত সর্বাধিক সাধারণ ব্যবহারের কেসের জন্য এখন একটি সহজ বিকল্প রয়েছে।
স্যাম ব্রাইটম্যান

1
দুর্ভাগ্যক্রমে গুগল স্প্রেডশিট লিঙ্কটি ভেঙে গেছে। স্ক্রিপ্টগুলি কীভাবে ব্যবহার / সক্রিয় করতে হবে তার একটি সংক্ষিপ্ত বিবরণ পেয়ে ভাল লাগবে। তবুও দুর্দান্ত উত্তর যা কেবল কাজ করে। :)
ব্রিম্বরিয়াম

19

নতুন Google পত্রক হিসাবে বর্ণনা, আপনি এই কাজ করতে পারবেন এখানে । নিবন্ধে বর্ণিত হিসাবে আপনাকে প্রথমে আপনার গুগল ড্রাইভার সেটিংসে নতুন স্প্রেডশিট সক্ষম করতে হবে। তারপরে আপনি শর্তসাপেক্ষ বিন্যাস বিকল্পগুলি থেকে 'কাস্টম সূত্রটি' নির্বাচন করতে পারেন এবং কোনও সূত্র প্রবেশ করতে পারেন ( =উপসর্গটি যুক্ত করতে ভুলবেন না !)। $আপনার প্রত্যাশা অনুযায়ী ব্যাপ্তির ক্ষেত্রে প্রিফিক্স ব্যতীত সেল রেফারেন্সগুলি স্বয়ংক্রিয়ভাবে সামঞ্জস্য হয়।

দেখে মনে হচ্ছে পুরানো থেকে নতুন স্থানান্তরের জন্য সমর্থনটির অভাব রয়েছে - এটি কেবলমাত্র নতুন শিটের ক্ষেত্রে প্রযোজ্য এবং আমি দেখতে পেয়েছি যে কেবলমাত্র মানগুলি অন্য থেকে অনুলিপি করা যায়। একটি সম্পূর্ণ শীট অনুলিপি করা একটি বিকল্প হতে পারে।


1
এই বিষয়টি চিহ্নিত করার জন্য ধন্যবাদ. আমি এটি যেমন চাই ঠিক তেমন কাজ করে।
রবার্ট কোরিটনিক

এই মুহুর্তে বেশিরভাগ পুরানো স্প্রেডশিটগুলি নতুন গুগল শীটে স্থানান্তরিত হয়েছিল, তাই মাইগ্রেশন সমর্থন সম্পর্কে নোটটি অচল so
রুবনে

2

বেশিরভাগ বেসিক শর্তসাপেক্ষ বিন্যাসের প্রয়োজনগুলি কভার করতে আমি এই ওয়েব অ্যাপ্লিকেশন, রঙ কোড + , অ্যাপ্লিকেশন-স্ক্রিপ্ট সহ লিখেছি । কিছু নিয়ম নিক্ষেপ করুন এবং এটি কোড স্পিট করবে যা আপনি তারপরে আপনার স্প্রেডশীটে, সরঞ্জামস্ক্রিপ্ট সম্পাদক ... এর অধীনে পেস্ট করতে পারবেন । ( গুগল ফোরামে সহায়তা থ্রেড ।)


1

গুগল শীটগুলির শর্তসাপেক্ষ বিন্যাসের নিয়মগুলি দেখতে দেখতে যদি আপনি শর্তাধীন কোনও লাল ব্যাকগ্রাউন্ডের সাথে ফর্ম্যাট করতে চান যদি দুটি কক্ষে যোগফল তৃতীয় কোষের চেয়ে আলাদা হয়:

গুগল শিটগুলি একক রঙ এবং কাস্টম সূত্র সহ শর্তাধীন বিন্যাসের নিয়ম


0

শর্তযুক্ত বিন্যাস - কাস্টম সূত্র

range 2:227

= if($i:$i = "Duplicate",True,False)

আপনি সারিটি হাইলাইট করতে চান তা নির্বাচন করুন।


0

(ফেব্রুয়ারী 2017) অন্য উত্তরে উল্লিখিত হিসাবে, গুগল শিটগুলি এখন ব্যবহারকারীদের ডেস্কটপ / ল্যাপটপ, অ্যান্ড্রয়েড বা আইওএস ডিভাইসগুলিতে সরাসরি ব্যবহারকারী ইন্টারফেস থেকে শর্তসাপেক্ষিক বিন্যাস যুক্ত করার অনুমতি দেয় । তবে এই উত্তরটির বাকী অংশটি মূলত বিকাশকারীদের জন্য কারণ আপনি অ্যাপ্লিকেশনগুলিকে "do" শর্তযুক্ত ফরম্যাটিং লিখতে পারেন।

সঙ্গে Google পত্রক এপিআই V4 (এবং নতুন), ডেভেলপারদের এখন অ্যাপ্লিকেশন শর্তাধীন ফর্ম্যাটিং বিধিগুলি টি ককটেলের লিখতে পারেন। পরীক্ষা করে দেখুন নির্দেশিকা এবং নমুনার আরো বিস্তারিত জানার জন্য পৃষ্ঠাগুলি সেইসাথে রেফারেন্স ডক্স (অনুসন্ধান {add,update,delete}ConditionalFormatRule)। নির্দেশিকা এই পাইথন স্নিপেট (এর একটি ফাইল আইডি অভিমানী অতিরিক্ত বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে SHEET_IDএবং SHEETSAPI পরিষেবা শেষবিন্দু হিসাবে):

myRange = {
    'sheetId': 0,
    'startRowIndex': 1,
    'endRowIndex': 11,
    'startColumnIndex': 0,
    'endColumnIndex': 4,
}

reqs = [
    {'addConditionalFormatRule': {
        'index': 0,
        'rule': {
            'ranges': [ myRange ],
            'booleanRule': {
                'format': {'textFormat': {'foregroundColor': {'red': 0.8}}}
                'condition': {
                    'type': 'CUSTOM_FORMULA',
                    'values':
                        [{'userEnteredValue': '=GT($D2,median($D$2:$D$11))'}]
                },
            },
        },
    }},
    {'addConditionalFormatRule': {
        'index': 0,
        'rule': {
            'ranges': [ myRange ],
            'booleanRule': {
                'format': {
                    'backgroundColor': {'red': 1, 'green': 0.4, 'blue': 0.4}
                },
                'condition': {
                    'type': 'CUSTOM_FORMULA',
                    'values':
                        [{'userEnteredValue': '=LT($D2,median($D$2:$D$11))'}]
                },
            },
        },
    }},
]

SHEETS.spreadsheets().batchUpdate(spreadsheetId=SHEET_ID,
        body={'requests': reqs}).execute()

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

শর্তসাপেক্ষ বিন্যাসের উদাহরণ

দ্রষ্টব্য: এখানে আমার উত্তরটি এই প্রশ্নের জন্য এসওর ওভারের সাথে একরকম, আমি পিএসএ বাদ দিয়েছি কারণ এটি> 1 জায়গায় থাকার দরকার নেই।


এই প্রশ্নের বিভিন্ন উত্তর পাশাপাশি এসও সম্পর্কিত প্রশ্নেরও রয়েছে। এই উত্তরগুলি উল্লেখ করে "অন্য উত্তর" কোনটি? (: অন্যদিকে, এই সাইটে আসা লোকেরা কোড লিখতে পারে, আমি তাদের মধ্যে বেশিরভাগই কাস্টম ফাংশন / ব্যবহারকারীর সংজ্ঞায়িত ফাংশনের মতো "শেষ ব্যবহারকারীর বিকাশ" হিসাবে এটি করি বলে মনে করি I'm CRUDতাদের বেশিরভাগই পরিচিত এবং তারা এই
রুবিন

0

'নতুন' শীটগুলিতে Q এর সুনির্দিষ্ট বৈশিষ্ট্যগুলিকে সম্বোধন করার জন্য, আমি বি: বি থেকে কোনও শর্তসাপেক্ষিক বিন্যাস সাফ করার পরামর্শ দিচ্ছি, কলামবিম্ব নির্বাচন করে একটি কাস্টম সূত্র প্রয়োগ করার জন্য:

=A1=1

পছন্দ বিন্যাস এবং Done


0

শর্তাধীন বিন্যাস সম্পাদনা করার সময়, কাস্টম সূত্রটি নির্বাচন করুন এবং নিম্নলিখিতগুলি ব্যবহার করুন ...

=if(A1 = 1 , true)

আপনার রং নির্বাচন করুন এবং আপনার কাজ শেষ হয়েছে।


-1

প্রশ্নের স্পষ্টতার জবাবে সম্পাদনা করুন:

আপনার গুগল স্প্রেডশিট উইন্ডোতে, "নিয়মের সাথে রঙ পরিবর্তন করুন" বিকল্পের সাথে একটি মেনু ফর্ম্যাট রয়েছে। এটি গুগল স্প্রেডশিটের শর্তসাপেক্ষ বিন্যাসের মতো প্রযুক্তিগত। আমি যতদূর বলতে পারি, অন্যের মানের উপর ভিত্তি করে একটি ঘর রঙ করার কোনও উপায় নেই - গুগল আপনাকে অন্য কক্ষের সূত্র প্রবেশ করতে দেয় না।

আপনি যদি কলাম বি তে অন্য ডেটা রাখেন না, আপনি সর্বদা কলাম বি সমান কলাম ক এর সবকটি করতে পারবেন এবং তারপরে "মানগুলি সহ রঙ পরিবর্তন করুন" বিকল্পটি 1 টির মতো রঙের সাথে সমস্ত কক্ষকে রঙ করার জন্য ব্যবহার করতে পারেন - যেমন, লাল ব্যাকগ্রাউন্ড এবং লাল পাঠ্য যখন মান 1 হয়, সাদা ব্যাকগ্রাউন্ড এবং সাদা টেক্সট যখন তা হয় না, কার্যকরভাবে কলাম বিতে মানটি লুকিয়ে রাখে যা আপনাকে পছন্দ মতো চেহারা দেবে।

এক্সেল, আপনি করতে পারেন আপনি যা চান তা না। উদাহরণস্বরূপ আপনার ডেটা ব্যবহার করে, আমি শর্তাধীন বি 1 ফর্ম্যাট করেছি যখন এই সূত্রটি সত্য হয়:

=IF(A1=1,true,false)

এবং তারপরে বিন্যাসটি নীচে টেনে নিয়ে গেলেন, যা কেবল বিতে এমন কক্ষগুলি হাইলাইট করেছে যেখানে এটি কলাম A এর সমান 1 এর প্রতিবেশী।

এক্সেল এটি করতে পারে তবে গুগল নয়


আসল উত্তর

আপনি 2 কলামে এটি করতে পারবেন কিনা তা সম্পর্কে আমি নিশ্চিত নই, তবে আমি জানি আপনি এটি 3 এ করতে পারেন:

 A  |  B  |  C
----------------
 1  |  f  |  x

বি কলামে, আপনি IFউপযুক্ত সি কলামে কোনও এক্স স্থাপন করা হয়েছে কিনা তা দেখতে আপনি সূত্রটি ব্যবহার করতে পারেন :

=IF(C1="x",A1,"") 

IFপরীক্ষা, - সূত্র 3 অংশ আছে তারপর মান, এবং অন্য মান। উপরের উদাহরণে সূত্রটি xসি কলামে কোনও আছে কিনা তা পরীক্ষা করে দেখুন । যদি এটি থাকে তবে এটি এ 1 থেকে মান প্রবেশ করে, অন্যথায়, এটি একটি ফাঁকা প্রবেশ করে। এটি xউচ্চতর- বা লোয়ার-কেসের ক্ষেত্রে গুরুত্বপূর্ণ নয়।

আপনি একবার আপনার তালিকার শীর্ষে এই সূত্রটি প্রবেশ করানোর পরে, আপনার বাকী তালিকার জন্য সূত্রটি নীচে টেনে আনার জন্য আপনি ড্রাগন বৈশিষ্ট্যটি ব্যবহার করতে পারেন। নীল রঙে হাইলাইট করা ঘরটি দিয়ে, কার্সার ক্রসচায়ার না হওয়া পর্যন্ত আপনার মাউসটিকে নীচের ডান কোণায় স্কোয়ারের উপরে সরান। তারপরে নীচের কক্ষে সূত্রটি অনুলিপি করতে কেবল টেনে টেনে ধরে ক্লিক করুন।


1
আমার মনে হয় আপনি আমাকে ভুল বুঝেছেন। প্রশ্নটি কন্ডিশনাল ফরম্যাটিং সম্পর্কে কোষগুলিতে মান রাখেনি।
রবার্ট কোরিটনিক

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