30 ਦਿਨਾਂ ਵਿੱਚ 30 ਐਕਸਲ ਫੰਕਸ਼ਨ: ਅਸਿੱਧੇ

ਵਧਾਈਆਂ! ਤੁਸੀਂ ਮੈਰਾਥਨ ਦੇ ਆਖਰੀ ਦਿਨ ਤੱਕ ਪਹੁੰਚ ਗਏ ਹੋ 30 ਦਿਨਾਂ ਵਿੱਚ 30 ਐਕਸਲ ਫੰਕਸ਼ਨ. ਇਹ ਇੱਕ ਲੰਮੀ ਅਤੇ ਦਿਲਚਸਪ ਯਾਤਰਾ ਰਹੀ ਹੈ ਜਿਸ ਦੌਰਾਨ ਤੁਸੀਂ Excel ਫੰਕਸ਼ਨਾਂ ਬਾਰੇ ਬਹੁਤ ਸਾਰੀਆਂ ਉਪਯੋਗੀ ਗੱਲਾਂ ਸਿੱਖੀਆਂ ਹਨ।

ਮੈਰਾਥਨ ਦੇ 30ਵੇਂ ਦਿਨ, ਅਸੀਂ ਸਮਾਗਮ ਦੇ ਅਧਿਐਨ ਨੂੰ ਸਮਰਪਿਤ ਕਰਾਂਗੇ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ), ਜੋ ਟੈਕਸਟ ਸਤਰ ਦੁਆਰਾ ਦਰਸਾਏ ਲਿੰਕ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਸ ਫੰਕਸ਼ਨ ਨਾਲ, ਤੁਸੀਂ ਨਿਰਭਰ ਡਰਾਪ-ਡਾਉਨ ਸੂਚੀਆਂ ਬਣਾ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ ਇੱਕ ਡ੍ਰੌਪਡਾਉਨ ਸੂਚੀ ਵਿੱਚੋਂ ਇੱਕ ਦੇਸ਼ ਦੀ ਚੋਣ ਕਰਨਾ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਸ਼ਹਿਰ ਦੀ ਡਰਾਪਡਾਉਨ ਸੂਚੀ ਵਿੱਚ ਕਿਹੜੇ ਵਿਕਲਪ ਦਿਖਾਈ ਦੇਣਗੇ।

ਇਸ ਲਈ, ਆਓ ਫੰਕਸ਼ਨ ਦੇ ਸਿਧਾਂਤਕ ਹਿੱਸੇ 'ਤੇ ਡੂੰਘਾਈ ਨਾਲ ਵਿਚਾਰ ਕਰੀਏ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਦੀਆਂ ਵਿਹਾਰਕ ਉਦਾਹਰਣਾਂ ਦੀ ਪੜਚੋਲ ਕਰੋ। ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਵਾਧੂ ਜਾਣਕਾਰੀ ਜਾਂ ਉਦਾਹਰਣ ਹਨ, ਤਾਂ ਕਿਰਪਾ ਕਰਕੇ ਉਹਨਾਂ ਨੂੰ ਟਿੱਪਣੀਆਂ ਵਿੱਚ ਸਾਂਝਾ ਕਰੋ।

ਫੰਕਸ਼ਨ 30: ਅਸਿੱਧੇ

ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਟੈਕਸਟ ਸਤਰ ਦੁਆਰਾ ਦਰਸਾਏ ਲਿੰਕ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ।

ਤੁਸੀਂ INDIRECT ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰ ਸਕਦੇ ਹੋ?

ਫੰਕਸ਼ਨ ਤੋਂ ਲੈ ਕੇ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਇੱਕ ਟੈਕਸਟ ਸਤਰ ਦੁਆਰਾ ਦਿੱਤਾ ਗਿਆ ਇੱਕ ਲਿੰਕ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਤੁਸੀਂ ਇਸਨੂੰ ਇਸ ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ:

  • ਇੱਕ ਗੈਰ-ਸ਼ਿਫਟਿੰਗ ਸ਼ੁਰੂਆਤੀ ਲਿੰਕ ਬਣਾਓ।
  • ਇੱਕ ਸਥਿਰ ਨਾਮ ਦੀ ਰੇਂਜ ਦਾ ਹਵਾਲਾ ਬਣਾਓ।
  • ਸ਼ੀਟ, ਕਤਾਰ ਅਤੇ ਕਾਲਮ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਲਿੰਕ ਬਣਾਓ।
  • ਸੰਖਿਆਵਾਂ ਦੀ ਇੱਕ ਗੈਰ-ਸ਼ਿਫਟਿੰਗ ਐਰੇ ਬਣਾਓ।

ਸਿੰਟੈਕਸ ਅਪ੍ਰਤੱਖ (ਅਪ੍ਰਤੱਖ)

ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (INDIRECT) ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸੰਟੈਕਸ ਹਨ:

INDIRECT(ref_text,a1)

ДВССЫЛ(ссылка_на_ячейку;a1)

  • ref_text (link_to_cell) ਲਿੰਕ ਦਾ ਟੈਕਸਟ ਹੈ।
  • a1 - ਜੇਕਰ TRUE (TRUE) ਦੇ ਬਰਾਬਰ ਹੈ ਜਾਂ ਨਿਰਦਿਸ਼ਟ ਨਹੀਂ ਹੈ, ਤਾਂ ਲਿੰਕ ਦੀ ਸ਼ੈਲੀ ਵਰਤੀ ਜਾਵੇਗੀ A1; ਅਤੇ ਜੇਕਰ FALSE (FALSE), ਤਾਂ ਸ਼ੈਲੀ ਆਰ 1 ਸੀ 1.

ਟ੍ਰੈਪਸ INDIRECT (ਅਪ੍ਰਤੱਖ)

  • ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ ਜਦੋਂ ਵੀ ਐਕਸਲ ਵਰਕਸ਼ੀਟ ਵਿੱਚ ਮੁੱਲ ਬਦਲਦੇ ਹਨ ਤਾਂ (ਅਸਿੱਧੇ) ਦੀ ਮੁੜ ਗਣਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਤੁਹਾਡੀ ਵਰਕਬੁੱਕ ਨੂੰ ਬਹੁਤ ਹੌਲੀ ਕਰ ਸਕਦਾ ਹੈ ਜੇਕਰ ਫੰਕਸ਼ਨ ਨੂੰ ਕਈ ਫਾਰਮੂਲਿਆਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
  • ਜੇਕਰ ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਕਿਸੇ ਹੋਰ ਐਕਸਲ ਵਰਕਬੁੱਕ ਲਈ ਇੱਕ ਲਿੰਕ ਬਣਾਉਂਦਾ ਹੈ, ਉਹ ਵਰਕਬੁੱਕ ਖੁੱਲੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ ਜਾਂ ਫਾਰਮੂਲਾ ਇੱਕ ਗਲਤੀ ਦੀ ਰਿਪੋਰਟ ਕਰੇਗਾ #REF! (#LINK!)
  • ਜੇਕਰ ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਸਿੱਧੇ) ਇੱਕ ਰੇਂਜ ਦਾ ਹਵਾਲਾ ਦਿੰਦਾ ਹੈ ਜੋ ਕਤਾਰ ਅਤੇ ਕਾਲਮ ਸੀਮਾ ਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ, ਫਾਰਮੂਲਾ ਇੱਕ ਗਲਤੀ ਦੀ ਰਿਪੋਰਟ ਕਰੇਗਾ #REF! (#LINK!)
  • ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਇੱਕ ਗਤੀਸ਼ੀਲ ਨਾਮ ਦੀ ਰੇਂਜ ਦਾ ਹਵਾਲਾ ਨਹੀਂ ਦੇ ਸਕਦਾ ਹੈ।

ਉਦਾਹਰਨ 1: ਇੱਕ ਗੈਰ-ਸ਼ਿਫਟਿੰਗ ਸ਼ੁਰੂਆਤੀ ਲਿੰਕ ਬਣਾਓ

ਪਹਿਲੀ ਉਦਾਹਰਨ ਵਿੱਚ, ਕਾਲਮ C ਅਤੇ E ਵਿੱਚ ਇੱਕੋ ਜਿਹੇ ਨੰਬਰ ਹੁੰਦੇ ਹਨ, ਉਹਨਾਂ ਦੇ ਜੋੜਾਂ ਨੂੰ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗਿਣਿਆ ਜਾਂਦਾ ਹੈ SUM (SUM) ਵੀ ਉਹੀ ਹਨ। ਹਾਲਾਂਕਿ, ਫਾਰਮੂਲੇ ਥੋੜੇ ਵੱਖਰੇ ਹਨ. ਸੈੱਲ C8 ਵਿੱਚ, ਫਾਰਮੂਲਾ ਹੈ:

=SUM(C2:C7)

=СУММ(C2:C7)

ਸੈੱਲ E8 ਵਿੱਚ, ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਸ਼ੁਰੂਆਤੀ ਸੈੱਲ E2 ਲਈ ਇੱਕ ਲਿੰਕ ਬਣਾਉਂਦਾ ਹੈ:

=SUM(INDIRECT("E2"):E7)

=СУММ(ДВССЫЛ("E2"):E7)

ਜੇਕਰ ਤੁਸੀਂ ਸ਼ੀਟ ਦੇ ਸਿਖਰ 'ਤੇ ਇੱਕ ਕਤਾਰ ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ ਅਤੇ ਜਨਵਰੀ (ਜਨਵਰੀ) ਲਈ ਮੁੱਲ ਜੋੜਦੇ ਹੋ, ਤਾਂ ਕਾਲਮ C ਵਿੱਚ ਰਕਮ ਨਹੀਂ ਬਦਲੇਗੀ। ਫਾਰਮੂਲਾ ਬਦਲ ਜਾਵੇਗਾ, ਇੱਕ ਲਾਈਨ ਦੇ ਜੋੜ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਦੇ ਹੋਏ:

=SUM(C3:C8)

=СУММ(C3:C8)

ਹਾਲਾਂਕਿ, ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਸ਼ੁਰੂਆਤੀ ਸੈੱਲ ਵਜੋਂ E2 ਨੂੰ ਫਿਕਸ ਕਰਦਾ ਹੈ, ਇਸਲਈ ਜਨਵਰੀ ਨੂੰ ਕਾਲਮ E ਕੁੱਲ ਦੀ ਗਣਨਾ ਵਿੱਚ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਸ਼ਾਮਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਅੰਤ ਸੈੱਲ ਬਦਲ ਗਿਆ ਹੈ, ਪਰ ਸ਼ੁਰੂਆਤੀ ਸੈੱਲ ਪ੍ਰਭਾਵਿਤ ਨਹੀਂ ਹੋਇਆ ਹੈ।

=SUM(INDIRECT("E2"):E8)

=СУММ(ДВССЫЛ("E2"):E8)

ਉਦਾਹਰਨ 2: ਸਥਿਰ ਨਾਮ ਦੀ ਰੇਂਜ ਨਾਲ ਲਿੰਕ ਕਰੋ

ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਇੱਕ ਨਾਮਿਤ ਰੇਂਜ ਦਾ ਹਵਾਲਾ ਬਣਾ ਸਕਦਾ ਹੈ। ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਨੀਲੇ ਸੈੱਲ ਰੇਂਜ ਬਣਾਉਂਦੇ ਹਨ NumList. ਇਸ ਤੋਂ ਇਲਾਵਾ, ਕਾਲਮ B ਵਿਚਲੇ ਮੁੱਲਾਂ ਤੋਂ ਇੱਕ ਗਤੀਸ਼ੀਲ ਰੇਂਜ ਵੀ ਬਣਾਈ ਜਾਂਦੀ ਹੈ NumListDyn, ਇਸ ਕਾਲਮ ਵਿੱਚ ਸੰਖਿਆਵਾਂ ਦੀ ਸੰਖਿਆ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।

ਦੋਨਾਂ ਰੇਂਜਾਂ ਦੇ ਜੋੜ ਨੂੰ ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਆਰਗੂਮੈਂਟ ਦੇ ਰੂਪ ਵਿੱਚ ਇਸਦਾ ਨਾਮ ਦੇ ਕੇ ਗਿਣਿਆ ਜਾ ਸਕਦਾ ਹੈ SUM (SUM), ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਸੈੱਲ E3 ਅਤੇ E4 ਵਿੱਚ ਦੇਖ ਸਕਦੇ ਹੋ।

=SUM(NumList) или =СУММ(NumList)

=SUM(NumListDyn) или =СУММ(NumListDyn)

ਇੱਕ ਫੰਕਸ਼ਨ ਵਿੱਚ ਇੱਕ ਰੇਂਜ ਦਾ ਨਾਮ ਟਾਈਪ ਕਰਨ ਦੀ ਬਜਾਏ SUM (SUM), ਤੁਸੀਂ ਵਰਕਸ਼ੀਟ ਦੇ ਸੈੱਲਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚ ਲਿਖੇ ਨਾਮ ਦਾ ਹਵਾਲਾ ਦੇ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਨਾਮ NumList ਸੈੱਲ D7 ਵਿੱਚ ਲਿਖਿਆ ਹੈ, ਫਿਰ ਸੈੱਲ E7 ਵਿੱਚ ਫਾਰਮੂਲਾ ਇਸ ਤਰ੍ਹਾਂ ਹੋਵੇਗਾ:

=SUM(INDIRECT(D7))

=СУММ(ДВССЫЛ(D7))

ਬਦਕਿਸਮਤੀ ਨਾਲ ਫੰਕਸ਼ਨ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ) ਇੱਕ ਗਤੀਸ਼ੀਲ ਰੇਂਜ ਹਵਾਲਾ ਨਹੀਂ ਬਣਾ ਸਕਦਾ, ਇਸਲਈ ਜਦੋਂ ਤੁਸੀਂ ਇਸ ਫਾਰਮੂਲੇ ਨੂੰ ਸੈੱਲ E8 ਵਿੱਚ ਕਾਪੀ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਤਰੁੱਟੀ ਮਿਲੇਗੀ #REF! (#LINK!)

ਉਦਾਹਰਨ 3: ਸ਼ੀਟ, ਕਤਾਰ, ਅਤੇ ਕਾਲਮ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਲਿੰਕ ਬਣਾਓ

ਤੁਸੀਂ ਕਤਾਰ ਅਤੇ ਕਾਲਮ ਨੰਬਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਆਸਾਨੀ ਨਾਲ ਇੱਕ ਲਿੰਕ ਬਣਾ ਸਕਦੇ ਹੋ, ਨਾਲ ਹੀ ਦੂਜੇ ਫੰਕਸ਼ਨ ਆਰਗੂਮੈਂਟ ਲਈ ਮੁੱਲ FALSE (FALSE) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਸਿੱਧੇ (ਅਸਿੱਧੇ). ਇਸ ਤਰ੍ਹਾਂ ਸਟਾਈਲ ਲਿੰਕ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ ਆਰ 1 ਸੀ 1. ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ ਲਿੰਕ ਵਿੱਚ ਸ਼ੀਟ ਦਾ ਨਾਮ ਵੀ ਜੋੜਿਆ ਹੈ - 'MyLinks'!R2C2

=INDIRECT("'"&B3&"'!R"&C3&"C"&D3,FALSE)

=ДВССЫЛ("'"&B3&"'!R"&C3&"C"&D3;ЛОЖЬ)

ਉਦਾਹਰਨ 4: ਸੰਖਿਆਵਾਂ ਦੀ ਇੱਕ ਗੈਰ-ਸਿਫ਼ਟਿੰਗ ਐਰੇ ਬਣਾਓ

ਕਈ ਵਾਰ ਤੁਹਾਨੂੰ ਐਕਸਲ ਫਾਰਮੂਲੇ ਵਿੱਚ ਸੰਖਿਆਵਾਂ ਦੀ ਇੱਕ ਐਰੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਨਿਮਨਲਿਖਤ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ ਕਾਲਮ B ਵਿੱਚ 3 ਸਭ ਤੋਂ ਵੱਡੀਆਂ ਸੰਖਿਆਵਾਂ ਦਾ ਔਸਤ ਲੈਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਸੰਖਿਆਵਾਂ ਨੂੰ ਇੱਕ ਫਾਰਮੂਲੇ ਵਿੱਚ ਦਰਜ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਸੈੱਲ D4 ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਹੈ:

=AVERAGE(LARGE(B1:B8,{1,2,3}))

=СРЗНАЧ(НАИБОЛЬШИЙ(B1:B8;{1;2;3}))

ਜੇਕਰ ਤੁਹਾਨੂੰ ਇੱਕ ਵੱਡੀ ਐਰੇ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਫਾਰਮੂਲੇ ਵਿੱਚ ਸਾਰੇ ਨੰਬਰ ਦਾਖਲ ਕਰਨ ਦੀ ਸੰਭਾਵਨਾ ਨਹੀਂ ਰੱਖਦੇ। ਦੂਜਾ ਵਿਕਲਪ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ ROW (ROW), ਜਿਵੇਂ ਕਿ ਸੈੱਲ D5 ਵਿੱਚ ਦਰਜ ਐਰੇ ਫਾਰਮੂਲੇ ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਹੈ:

=AVERAGE(LARGE(B1:B8,ROW(1:3)))

=СРЗНАЧ(НАИБОЛЬШИЙ(B1:B8;СТРОКА(1:3)))

ਤੀਜਾ ਵਿਕਲਪ ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ ROW (STRING) ਦੇ ਨਾਲ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ), ਜਿਵੇਂ ਕਿ ਸੈੱਲ D6 ਵਿੱਚ ਐਰੇ ਫਾਰਮੂਲੇ ਨਾਲ ਕੀਤਾ ਗਿਆ ਹੈ:

=AVERAGE(LARGE(B1:B8,ROW(INDIRECT("1:3"))))

=СРЗНАЧ(НАИБОЛЬШИЙ(B1:B8;СТРОКА(ДВССЫЛ("1:3"))))

ਸਾਰੇ 3 ​​ਫਾਰਮੂਲਿਆਂ ਦਾ ਨਤੀਜਾ ਇੱਕੋ ਜਿਹਾ ਹੋਵੇਗਾ:

ਹਾਲਾਂਕਿ, ਜੇਕਰ ਸ਼ੀਟ ਦੇ ਸਿਖਰ 'ਤੇ ਕਤਾਰਾਂ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਤਾਂ ਦੂਜਾ ਫਾਰਮੂਲਾ ਇਸ ਤੱਥ ਦੇ ਕਾਰਨ ਇੱਕ ਗਲਤ ਨਤੀਜਾ ਵਾਪਸ ਕਰੇਗਾ ਕਿ ਫਾਰਮੂਲੇ ਦੇ ਹਵਾਲੇ ਕਤਾਰ ਸ਼ਿਫਟ ਦੇ ਨਾਲ ਬਦਲ ਜਾਣਗੇ। ਹੁਣ, ਤਿੰਨ ਸਭ ਤੋਂ ਵੱਡੀਆਂ ਸੰਖਿਆਵਾਂ ਦੀ ਔਸਤ ਦੀ ਬਜਾਏ, ਫਾਰਮੂਲਾ ਤੀਜੀ, ਚੌਥੀ ਅਤੇ ਪੰਜਵੀਂ ਸਭ ਤੋਂ ਵੱਡੀਆਂ ਸੰਖਿਆਵਾਂ ਦੀ ਔਸਤ ਵਾਪਸ ਕਰਦਾ ਹੈ।

ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਅਸਿੱਧੇ (ਅਪ੍ਰਤੱਖ), ਤੀਜਾ ਫਾਰਮੂਲਾ ਸਹੀ ਕਤਾਰ ਹਵਾਲੇ ਰੱਖਦਾ ਹੈ ਅਤੇ ਸਹੀ ਨਤੀਜਾ ਦਿਖਾਉਣਾ ਜਾਰੀ ਰੱਖਦਾ ਹੈ।

ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ