ਵਿਸ਼ਾ - ਸੂਚੀ
ਟਿਊਟੋਰਿਅਲ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਫਾਰਮੂਲੇ ਅਤੇ ਐਕਸਟਰੈਕਟ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਐਕਸਲ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਟੈਕਸਟ ਸਟ੍ਰਿੰਗਾਂ ਤੋਂ ਨੰਬਰ ਕਿਵੇਂ ਐਕਸਟਰੈਕਟ ਕਰਨਾ ਹੈ।
ਜਦੋਂ ਇੱਕ ਦਿੱਤੀ ਗਈ ਲੰਬਾਈ ਦੀ ਟੈਕਸਟ ਸਤਰ ਦੇ ਹਿੱਸੇ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਦੀ ਗੱਲ ਆਉਂਦੀ ਹੈ , ਐਕਸਲ ਕੰਮ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਸੰਭਾਲਣ ਲਈ ਤਿੰਨ ਸਬਸਟਰਿੰਗ ਫੰਕਸ਼ਨ (ਖੱਬੇ, ਸੱਜੇ ਅਤੇ ਮੱਧ) ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਇਹ ਇੱਕ ਅਲਫਾਨਿਊਮੇਰਿਕ ਸਤਰ ਤੋਂ ਸੰਖਿਆਵਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਦੀ ਗੱਲ ਆਉਂਦੀ ਹੈ, ਤਾਂ Microsoft Excel ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ... ਕੁਝ ਨਹੀਂ।
ਐਕਸਲ ਵਿੱਚ ਇੱਕ ਸਟ੍ਰਿੰਗ ਤੋਂ ਨੰਬਰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਇਸ ਵਿੱਚ ਥੋੜੀ ਚਤੁਰਾਈ, ਥੋੜਾ ਸਬਰ ਅਤੇ ਵੱਖ-ਵੱਖ ਫੰਕਸ਼ਨਾਂ ਦਾ ਇੱਕ ਸਮੂਹ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਦੂਜੇ ਵਿੱਚ ਨੇਸਟ ਕੀਤਾ। ਜਾਂ, ਤੁਸੀਂ ਐਕਸਟਰੈਕਟ ਟੂਲ ਚਲਾ ਸਕਦੇ ਹੋ ਅਤੇ ਮਾਊਸ ਕਲਿੱਕ ਨਾਲ ਕੰਮ ਪੂਰਾ ਕਰ ਸਕਦੇ ਹੋ। ਹੇਠਾਂ ਤੁਸੀਂ ਦੋਵਾਂ ਤਰੀਕਿਆਂ ਬਾਰੇ ਪੂਰੀ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰੋਗੇ।
ਟੈਕਸਟ ਸਟ੍ਰਿੰਗ ਦੇ ਅੰਤ ਤੋਂ ਨੰਬਰ ਕਿਵੇਂ ਕੱਢਣਾ ਹੈ
ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਅਲਫਾਨਿਊਮੇਰਿਕ ਸਤਰ ਦਾ ਇੱਕ ਕਾਲਮ ਹੈ ਜਿੱਥੇ ਨੰਬਰ ਬਾਅਦ ਵਿੱਚ ਆਉਂਦਾ ਹੈ ਟੈਕਸਟ, ਤੁਸੀਂ ਇਸਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਫਾਰਮੂਲੇ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।
RIGHT( cell, LEN( cell) - MAX(IF(ISNUMBER(MID( cell)))), 0)))ਅਸੀਂ ਥੋੜੇ ਸਮੇਂ ਬਾਅਦ ਫਾਰਮੂਲੇ ਦੇ ਤਰਕ 'ਤੇ ਵਿਚਾਰ ਕਰਾਂਗੇ। ਹੁਣ ਲਈ, ਬਸ ਸੈੱਲ ਨੂੰ ਅਸਲੀ ਸਟ੍ਰਿੰਗ (ਸਾਡੇ ਕੇਸ ਵਿੱਚ A2) ਵਾਲੇ ਸੈੱਲ ਦੇ ਹਵਾਲੇ ਨਾਲ ਬਦਲੋ, ਅਤੇ ਉਸੇ ਕਤਾਰ ਵਿੱਚ ਕਿਸੇ ਵੀ ਖਾਲੀ ਸੈੱਲ ਵਿੱਚ ਫਾਰਮੂਲਾ ਦਰਜ ਕਰੋ, B2 ਵਿੱਚ ਕਹੋ:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
ਇਹ ਫਾਰਮੂਲਾ ਸਿਰਫ਼ ਅੰਤ ਤੋਂ ਨੰਬਰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਇੱਕ ਸਤਰ ਦੇ ਸ਼ੁਰੂ ਜਾਂ ਮੱਧ ਵਿੱਚ ਵੀ ਸੰਖਿਆਵਾਂ ਹਨ, ਤਾਂ ਉਹ ਹਨਅਣਡਿੱਠ ਕੀਤਾ ਗਿਆ:
ਐਕਸਟ੍ਰਕਸ਼ਨ RIGHT ਫੰਕਸ਼ਨ ਨਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਟੈਕਸਟ ਫੰਕਸ਼ਨਾਂ ਦੀ ਸ਼੍ਰੇਣੀ ਨਾਲ ਸਬੰਧਤ ਹੈ। ਇਸ ਫੰਕਸ਼ਨ ਦਾ ਆਉਟਪੁੱਟ ਹਮੇਸ਼ਾ ਟੈਕਸਟ ਹੁੰਦਾ ਹੈ। ਸਾਡੇ ਕੇਸ ਵਿੱਚ, ਨਤੀਜਾ ਇੱਕ ਸੰਖਿਆਤਮਕ ਸਬਸਟਰਿੰਗ ਹੈ, ਜੋ ਕਿ ਐਕਸਲ ਦੇ ਰੂਪ ਵਿੱਚ ਟੈਕਸਟ ਵੀ ਹੈ, ਨੰਬਰ ਨਹੀਂ।
ਜੇਕਰ ਤੁਹਾਨੂੰ ਨਤੀਜਾ ਇੱਕ ਨੰਬਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ (ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਹੋਰ ਗਣਨਾਵਾਂ ਵਿੱਚ ਵਰਤ ਸਕਦੇ ਹੋ), ਫਿਰ ਫਾਰਮੂਲੇ ਨੂੰ VALUE ਫੰਕਸ਼ਨ ਵਿੱਚ ਲਪੇਟੋ ਜਾਂ ਇੱਕ ਅੰਕਗਣਿਤ ਕਾਰਵਾਈ ਕਰੋ ਜੋ ਨਤੀਜਾ ਨਹੀਂ ਬਦਲਦਾ, ਕਹੋ, 1 ਨਾਲ ਗੁਣਾ ਕਰੋ ਜਾਂ 0 ਜੋੜੋ। ਸਿੰਗਲ ਨੰਬਰ, IFERROR ਫੰਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਉਦਾਹਰਨ ਲਈ:
=IFERROR(VALUE(RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))), "")
ਜਾਂ
=IFERROR(RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))) +0, "")
ਨੋਟ। ਡਾਇਨਾਮਿਕ ਐਰੇ ਐਕਸਲ (ਆਫਿਸ 365 ਅਤੇ 2021) ਵਿੱਚ, ਤੁਸੀਂ ਐਂਟਰ ਕੁੰਜੀ ਨਾਲ ਆਮ ਤਰੀਕੇ ਨਾਲ ਫਾਰਮੂਲਾ ਦਰਜ ਕਰਦੇ ਹੋ। ਐਕਸਲ 2019 ਅਤੇ ਇਸ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਸਿਰਫ਼ ਇੱਕ ਐਰੇ ਫਾਰਮੂਲੇ ਦੇ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ, ਇਸਲਈ ਇਸਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ Ctrl + Shift + Enter ਨੂੰ ਦਬਾਓ।
ਇਹ ਫਾਰਮੂਲਾ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ:
ਇੱਕ ਅਲਫਾਨਿਊਮੇਰਿਕ ਸਤਰ ਤੋਂ ਨੰਬਰ ਕੱਢਣ ਲਈ, ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਇਹ ਜਾਣਨ ਦੀ ਲੋੜ ਹੈ ਕਿ ਐਕਸਟਰੈਕਸ਼ਨ ਕਿੱਥੋਂ ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ। ਇੱਕ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਆਖਰੀ ਗੈਰ-ਸੰਖਿਆਤਮਕ ਅੱਖਰ ਦੀ ਸਥਿਤੀ ਇਸ ਔਖੇ ਫਾਰਮੂਲੇ ਦੀ ਮਦਦ ਨਾਲ ਨਿਰਧਾਰਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:
MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN( A2))), 1)*1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))
ਤਰਕ ਨੂੰ ਸਮਝਣ ਲਈ, ਆਓ ਇਸਦੀ ਅੰਦਰੋਂ ਜਾਂਚ ਕਰੀਏ। :
ਰੋ (ਅਸਿੱਧੇ("1:"&LEN(A2))) ਸੁਮੇਲਸਰੋਤ ਸਤਰ (A2) ਵਿੱਚ ਕੁੱਲ ਅੱਖਰਾਂ ਦੇ ਅਨੁਸਾਰੀ ਸੰਖਿਆਵਾਂ ਦਾ ਇੱਕ ਕ੍ਰਮ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਅਸੀਂ ਇਹਨਾਂ ਕ੍ਰਮਵਾਰ ਸੰਖਿਆਵਾਂ ਨੂੰ MID ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸੰਖਿਆਵਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਾਂ:
MID(A2, {1;2;3;4) ;5;6;7;8}, 1)
MID ਫੰਕਸ਼ਨ A2 ਤੋਂ ਹਰੇਕ ਵਿਅਕਤੀਗਤ ਅੱਖਰ ਨੂੰ ਖਿੱਚਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਐਰੇ ਵਜੋਂ ਵਾਪਸ ਕਰਦਾ ਹੈ:
{"0";"5";" -";"E";"C";"-";"0";"1"}
ਕਿਉਂਕਿ MID ਇੱਕ ਟੈਕਸਟ ਫੰਕਸ਼ਨ ਹੈ, ਇਸਦਾ ਆਉਟਪੁੱਟ ਹਮੇਸ਼ਾਂ ਟੈਕਸਟ ਹੁੰਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਨੋਟ ਕਰ ਸਕਦੇ ਹੋ, ਸਾਰੇ ਅੱਖਰ ਹਵਾਲੇ ਦੇ ਚਿੰਨ੍ਹ ਵਿੱਚ ਨੱਥੀ ਹਨ)। ਸੰਖਿਆਵਾਂ ਨੂੰ ਸੰਖਿਆਵਾਂ ਵਿੱਚ ਬਦਲਣ ਲਈ, ਅਸੀਂ ਐਰੇ ਨੂੰ 1 ਨਾਲ ਗੁਣਾ ਕਰਦੇ ਹਾਂ (ਡਬਲ ਨੈਗੇਸ਼ਨ --MID() ਦਾ ਉਹੀ ਪ੍ਰਭਾਵ ਹੋਵੇਗਾ)। ਇਸ ਕਾਰਵਾਈ ਦਾ ਨਤੀਜਾ ਸੰਖਿਆਵਾਂ ਅਤੇ #VALUE! ਗੈਰ-ਸੰਖਿਆਤਮਕ ਅੱਖਰਾਂ ਨੂੰ ਦਰਸਾਉਣ ਵਾਲੀਆਂ ਗਲਤੀਆਂ:
ISNUMBER({0;5;#VALUE!;#VALUE!;#VALUE!;#VALUE!;0;1})
ISNUMBER ਫੰਕਸ਼ਨ ਐਰੇ ਦੇ ਹਰੇਕ ਤੱਤ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਦਾ ਫੈਸਲਾ ਬੁਲੀਅਨ ਮੁੱਲਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿੰਦਾ ਹੈ - ਨੰਬਰਾਂ ਲਈ ਸੱਚ, ਕਿਸੇ ਹੋਰ ਚੀਜ਼ ਲਈ ਗਲਤ:
{TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE}
ਇਹ ਐਰੇ IF ਫੰਕਸ਼ਨ ਦੇ ਲਾਜ਼ੀਕਲ ਟੈਸਟ 'ਤੇ ਜਾਂਦਾ ਹੈ, ਜਿੱਥੇ ਐਰੇ ਦੇ ਹਰੇਕ ਤੱਤ ਦੀ FALSE ਨਾਲ ਤੁਲਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ:
IF({TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE ;TRUE}=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)
ਹਰੇਕ FALSE (ਗੈਰ-ਸੰਖਿਆਤਮਕ ਮੁੱਲ) ਲਈ, ਇੱਕ ਹੋਰ ROW(INDIRECT()) ਫੰਕਸ਼ਨ ਦਿੰਦਾ ਹੈ ਸਤਰ ਵਿੱਚ ਇਸਦੀ ਰਿਸ਼ਤੇਦਾਰ ਸਥਿਤੀ। ਹਰੇਕ TRUE (ਸੰਖਿਆਤਮਕ ਮੁੱਲ) ਲਈ, ਇੱਕ ਜ਼ੀਰੋ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਨਤੀਜਾ ਐਰੇ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈਅੱਗੇ:
{0;0;3;4;5;6;0;0}
ਬਾਕੀ ਆਸਾਨ ਹੈ। MAX ਫੰਕਸ਼ਨ ਉਪਰੋਕਤ ਐਰੇ ਵਿੱਚ ਸਭ ਤੋਂ ਵੱਧ ਸੰਖਿਆ ਲੱਭਦਾ ਹੈ, ਜੋ ਕਿ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਆਖਰੀ ਗੈਰ-ਸੰਖਿਆਤਮਕ ਮੁੱਲ ਦੀ ਸਥਿਤੀ ਹੈ (ਸਾਡੇ ਕੇਸ ਵਿੱਚ 6)। ਬਸ, LEN ਦੁਆਰਾ ਵਾਪਸ ਕੀਤੀ ਗਈ ਸਟ੍ਰਿੰਗ ਦੀ ਕੁੱਲ ਲੰਬਾਈ ਤੋਂ ਉਸ ਸਥਿਤੀ ਨੂੰ ਘਟਾਓ, ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਸੱਜੇ ਪਾਸ ਕਰੋ ਤਾਂ ਕਿ ਇਹ ਦੱਸਣ ਲਈ ਕਿ ਸਤਰ ਦੇ ਸੱਜੇ ਪਾਸੇ ਤੋਂ ਕਿੰਨੇ ਅੱਖਰ ਕੱਢਣੇ ਹਨ:
ਸੱਜੇ(A2, LEN) (A2) - 6)
ਹੋ ਗਿਆ!
ਟੈਕਸਟ ਸਟ੍ਰਿੰਗ ਦੀ ਸ਼ੁਰੂਆਤ ਤੋਂ ਨੰਬਰ ਕਿਵੇਂ ਐਕਸਟਰੈਕਟ ਕਰਨਾ ਹੈ
ਜੇਕਰ ਤੁਸੀਂ ਰਿਕਾਰਡਾਂ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹੋ ਜਿੱਥੇ ਟੈਕਸਟ ਨੰਬਰ ਤੋਂ ਬਾਅਦ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਆਮ ਫਾਰਮੂਲੇ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਸਤਰ ਦੀ ਸ਼ੁਰੂਆਤ ਤੋਂ ਨੰਬਰ ਕੱਢੋ:
LEFT( cell, MATCH(FALSE, ISNUMBER(MID( cell, ROW(INDIRECT("1:)) "&LEN( cell)+1)), 1) *1), 0) -1)A2 ਵਿੱਚ ਮੂਲ ਸਤਰ ਦੇ ਨਾਲ, ਨੰਬਰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਫਾਰਮੂਲੇ ਦੀ ਵਰਤੋਂ ਕਰੋ:
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)
ਭਾਵੇਂ ਮੱਧ ਜਾਂ ਅੰਤ ਵਿੱਚ ਕਿੰਨੇ ਅੰਕ ਹੋਣ, ਸਿਰਫ਼ ਸ਼ੁਰੂਆਤੀ ਸੰਖਿਆ ਹੀ ਕੱਢੀ ਜਾਂਦੀ ਹੈ:
ਨੋਟ। ਐਕਸਲ 365 ਅਤੇ ਐਕਸਲ 2021 ਵਿੱਚ, ਗਤੀਸ਼ੀਲ ਐਰੇ ਦੇ ਸਮਰਥਨ ਦੇ ਕਾਰਨ, ਇੱਕ ਨਿਯਮਤ ਫਾਰਮੂਲਾ ਵਧੀਆ ਕੰਮ ਕਰਦਾ ਹੈ। ਐਕਸਲ 2019 ਅਤੇ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਦੇ ਵਿੱਚ, ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਐਰੇ ਫਾਰਮੂਲਾ ਬਣਾਉਣ ਲਈ Ctrl + Shift + Enter ਨੂੰ ਦਬਾਉ।
ਇਹ ਫਾਰਮੂਲਾ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ:
ਇੱਥੇ, ਅਸੀਂ ਸਰੋਤ ਸਟ੍ਰਿੰਗ ਪਲੱਸ 1 (ਉਸ ਦੀ ਭੂਮਿਕਾਵਾਧੂ ਅੱਖਰ ਥੋੜ੍ਹੀ ਦੇਰ ਬਾਅਦ ਸਪੱਸ਼ਟ ਹੋ ਜਾਣਗੇ।
ROW(INDIRECT("1:"&LEN(A2)+1))
MID ਅਤੇ ISNUMBER ਉਹੀ ਕੰਮ ਕਰਦੇ ਹਨ ਜਿਵੇਂ ਕਿ ਪਿਛਲੀ ਉਦਾਹਰਨ - MID ਵਿਅਕਤੀਗਤ ਅੱਖਰਾਂ ਨੂੰ ਖਿੱਚਦਾ ਹੈ ਅਤੇ ISNUMBER ਉਹਨਾਂ ਨੂੰ ਲਾਜ਼ੀਕਲ ਮੁੱਲਾਂ ਵਿੱਚ ਬਦਲਦਾ ਹੈ। TRUE's ਅਤੇ FALSE's ਦਾ ਨਤੀਜਾ ਐਰੇ ਲੁੱਕਅਪ ਐਰੇ ਦੇ ਰੂਪ ਵਿੱਚ MATCH ਫੰਕਸ਼ਨ ਵਿੱਚ ਜਾਂਦਾ ਹੈ:
MATCH(FALSE, {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE}, 0)
ਮੈਚ ਪਹਿਲੇ ਗਲਤ ਦੀ ਇੱਕ ਸੰਬੰਧਿਤ ਸਥਿਤੀ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ, ਸਾਨੂੰ ਸਤਰ ਵਿੱਚ ਪਹਿਲੇ ਗੈਰ-ਸੰਖਿਆਤਮਕ ਅੱਖਰ ਦੀ ਸਥਿਤੀ ਦਿੰਦਾ ਹੈ (3 ਵਿੱਚ A2)। ਪਿਛਲੀਆਂ ਸੰਖਿਆਵਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਨ ਲਈ, ਅਸੀਂ 1 ਨੂੰ ਪਹਿਲੇ ਟੈਕਸਟ ਅੱਖਰ ਦੀ ਸਥਿਤੀ ਤੋਂ ਘਟਾਉਂਦੇ ਹਾਂ ਅਤੇ ਖੱਬੇ ਫੰਕਸ਼ਨ ਦੇ num_chars ਆਰਗੂਮੈਂਟ ਵਿੱਚ ਫਰਕ ਦਿੰਦੇ ਹਾਂ:
LEFT(A2, 3-1)
ਹੁਣ, ROW(INDIRECT()+1)) ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਕ੍ਰਮ ਵਿੱਚ ਇੱਕ "ਵਾਧੂ" ਅੱਖਰ ਵੱਲ ਵਾਪਸ ਜਾਓ। ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਜਾਣਦੇ ਹੋ, ਇਹ ਕ੍ਰਮ MID ਫੰਕਸ਼ਨ ਲਈ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। +1 ਤੋਂ ਬਿਨਾਂ, MID ਅਸਲ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਜਿੰਨੇ ਅੱਖਰ ਹਨ। ਜੇਕਰ ਸਤਰ ਵਿੱਚ ਸਿਰਫ਼ ਨੰਬਰ ਹਨ, ਤਾਂ ISNUMBER ਸਿਰਫ਼ TRUE ਵਾਪਸ ਕਰੇਗਾ ਜਦੋਂ ਕਿ MATCH ਨੂੰ ਘੱਟੋ-ਘੱਟ ਇੱਕ FALSE ਦੀ ਲੋੜ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ, ਅਸੀਂ ਸਟ੍ਰਿੰਗ ਦੀ ਕੁੱਲ ਲੰਬਾਈ ਵਿੱਚ ਇੱਕ ਹੋਰ ਅੱਖਰ ਜੋੜਦੇ ਹਾਂ, ਜਿਸ ਨੂੰ MID ਫੰਕਸ਼ਨ ਇੱਕ ਖਾਲੀ ਸਤਰ ਵਿੱਚ ਬਦਲ ਦੇਵੇਗਾ। ਉਦਾਹਰਨ ਲਈ, B7 ਵਿੱਚ, MID ਇਹ ਐਰੇ ਵਾਪਸ ਕਰਦਾ ਹੈ:
{"1";"2";"3";"4";""}
ਨੋਟ। ਜਿਵੇਂ ਕਿ RIGHT ਫੰਕਸ਼ਨ ਦਾ ਮਾਮਲਾ ਹੈ, LEFT ਵੀ ਇੱਕ ਅੰਕ ਵਾਪਸ ਕਰਦਾ ਹੈਸਬਸਟਰਿੰਗ , ਜੋ ਕਿ ਤਕਨੀਕੀ ਤੌਰ 'ਤੇ ਟੈਕਸਟ ਹੈ, ਨੰਬਰ ਨਹੀਂ। ਸੰਖਿਆਤਮਕ ਸਤਰ ਦੀ ਬਜਾਏ ਇੱਕ ਸੰਖਿਆ ਦੇ ਰੂਪ ਵਿੱਚ ਨਤੀਜਾ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, VALUE ਫੰਕਸ਼ਨ ਵਿੱਚ ਫਾਰਮੂਲੇ ਨੂੰ ਨੇਸਟ ਕਰੋ ਜਾਂ ਨਤੀਜੇ ਨੂੰ 1 ਨਾਲ ਗੁਣਾ ਕਰੋ ਜਿਵੇਂ ਕਿ ਪਹਿਲੀ ਉਦਾਹਰਣ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ।
ਕਿਸੇ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਕਿਸੇ ਵੀ ਸਥਿਤੀ ਤੋਂ ਸੰਖਿਆ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰੀਏ
ਜੇਕਰ ਤੁਹਾਡਾ ਕੰਮ ਇੱਕ ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਕਿਤੇ ਵੀ ਨੰਬਰ ਕੱਢਣ ਦਾ ਮਤਲਬ ਹੈ, ਤਾਂ ਤੁਸੀਂ MrExcel ਫੋਰਮ 'ਤੇ ਪ੍ਰਕਾਸ਼ਿਤ ਹੇਠਾਂ ਦਿੱਤੇ ਦਿਮਾਗ ਨੂੰ ਹੈਰਾਨ ਕਰਨ ਵਾਲੇ ਫਾਰਮੂਲੇ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:
=SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1)) * ROW(INDIRECT("1:"&LEN(A2))), 0), ROW(INDIRECT("1:"&LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(A2)))/10)
ਜਿੱਥੇ A2 ਹੈ ਮੂਲ ਟੈਕਸਟ ਸਤਰ।
ਇਸ ਫਾਰਮੂਲੇ ਨੂੰ ਤੋੜਨ ਲਈ ਇੱਕ ਵੱਖਰੇ ਲੇਖ ਦੀ ਲੋੜ ਹੋਵੇਗੀ, ਇਸ ਲਈ ਤੁਸੀਂ ਇਸਨੂੰ ਆਪਣੀ ਵਰਕਸ਼ੀਟ ਵਿੱਚ ਕਾਪੀ ਕਰ ਸਕਦੇ ਹੋ ਤਾਂ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ ਕਿ ਇਹ ਅਸਲ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ :)
ਨਤੀਜਿਆਂ ਦੀ ਜਾਂਚ ਕਰਨ 'ਤੇ, ਹਾਲਾਂਕਿ, ਤੁਸੀਂ ਇੱਕ ਮਾਮੂਲੀ ਕਮੀ ਦੇਖ ਸਕਦੇ ਹੋ - ਜੇਕਰ ਸਰੋਤ ਸਤਰ ਵਿੱਚ ਕੋਈ ਸੰਖਿਆ ਨਹੀਂ ਹੈ, ਤਾਂ ਫਾਰਮੂਲਾ ਜ਼ੀਰੋ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਉੱਪਰ ਦਿੱਤੇ ਸਕ੍ਰੀਨਸ਼ੌਟ ਵਿੱਚ ਕਤਾਰ 6 ਵਿੱਚ ਹੈ। ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਤੁਸੀਂ IF ਸਟੇਟਮੈਂਟ ਵਿੱਚ ਫਾਰਮੂਲੇ ਨੂੰ ਲਪੇਟ ਸਕਦੇ ਹੋ, ਜਿਸਦਾ ਲਾਜ਼ੀਕਲ ਟੈਸਟ ਇਹ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਸਰੋਤ ਸਤਰ ਵਿੱਚ ਕੋਈ ਸੰਖਿਆ ਹੈ ਜਾਂ ਨਹੀਂ। ਜੇਕਰ ਅਜਿਹਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਫਾਰਮੂਲਾ ਨੰਬਰ ਕੱਢਦਾ ਹੈ, ਨਹੀਂ ਤਾਂ ਇੱਕ ਖਾਲੀ ਸਤਰ ਵਾਪਸ ਕਰਦਾ ਹੈ:
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")
ਜਿਵੇਂ ਕਿ ਹੇਠਾਂ ਦਿੱਤੇ ਸਕ੍ਰੀਨਸ਼ੌਟ ਵਿੱਚ ਦਿਖਾਇਆ ਗਿਆ ਹੈ, ਸੁਧਾਰਿਆ ਫਾਰਮੂਲਾ ਬਹੁਤ ਵਧੀਆ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ (ਐਲੈਕਸ, ਸਾਡੇ ਐਕਸਲ ਗੁਰੂ, ਇਸ ਸੁਧਾਰ ਲਈ):
ਪਿਛਲੀਆਂ ਸਾਰੀਆਂ ਉਦਾਹਰਣਾਂ ਦੇ ਉਲਟ, ਇਸ ਫਾਰਮੂਲੇ ਦਾ ਨਤੀਜਾ ਨੰਬਰ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ, ਬਸ ਕਾਲਮ B ਵਿੱਚ ਸੱਜੇ-ਅਲਾਈਨ ਕੀਤੇ ਮੁੱਲਾਂ ਵੱਲ ਧਿਆਨ ਦਿਓ ਅਤੇ ਅੱਗੇ ਵਾਲੇ ਜ਼ੀਰੋ ਨੂੰ ਕੱਟਿਆ ਗਿਆ ਹੈ।
ਟਿਪ। ਐਕਸਲ 365 ਵਿੱਚ -ਐਕਸਲ 2019, TEXTJOIN ਫੰਕਸ਼ਨ ਦੀ ਮਦਦ ਨਾਲ ਬਹੁਤ ਸਰਲ ਹੱਲ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਦੇਖੋ ਕਿ ਟੈਕਸਟ ਨੂੰ ਕਿਵੇਂ ਹਟਾਉਣਾ ਹੈ ਅਤੇ ਨੰਬਰ ਕਿਵੇਂ ਰੱਖਣਾ ਹੈ।
ਅਲਟੀਮੇਟ ਸੂਟ ਨਾਲ ਟੈਕਸਟ ਸਟ੍ਰਿੰਗ ਤੋਂ ਨੰਬਰ ਐਕਸਟਰੈਕਟ ਕਰੋ
ਜਿਵੇਂ ਤੁਸੀਂ ਹੁਣੇ ਦੇਖਿਆ ਹੈ, ਟੈਕਸਟ ਸਤਰ ਤੋਂ ਨੰਬਰ ਕੱਢਣ ਲਈ ਕੋਈ ਮਾਮੂਲੀ ਐਕਸਲ ਫਾਰਮੂਲਾ ਨਹੀਂ ਹੈ। ਜੇਕਰ ਤੁਹਾਨੂੰ ਫਾਰਮੂਲਿਆਂ ਨੂੰ ਸਮਝਣ ਜਾਂ ਆਪਣੇ ਡੇਟਾ ਸੈੱਟਾਂ ਲਈ ਉਹਨਾਂ ਨੂੰ ਟਵੀਕ ਕਰਨ ਵਿੱਚ ਮੁਸ਼ਕਲ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਐਕਸਲ ਵਿੱਚ ਸਟ੍ਰਿੰਗ ਤੋਂ ਨੰਬਰ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਇਹ ਸਧਾਰਨ ਤਰੀਕਾ ਪਸੰਦ ਕਰ ਸਕਦੇ ਹੋ।
ਸਾਡੇ ਅਲਟੀਮੇਟ ਸੂਟ ਨਾਲ ਤੁਹਾਡੇ ਐਕਸਲ ਰਿਬਨ ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਹੈ, ਇਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਅਲਫਾਨਿਊਮੇਰਿਕ ਸਤਰ ਤੋਂ ਤੇਜ਼ੀ ਨਾਲ ਨੰਬਰ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ:
- ਐਬਲਬਿਟਸ ਡੇਟਾ ਟੈਬ > ਟੈਕਸਟ ਗਰੁੱਪ 'ਤੇ ਜਾਓ, ਅਤੇ ਐਕਸਟ੍ਰੈਕਟ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। :
- ਸਰੋਤ ਸਤਰ ਵਾਲੇ ਸਾਰੇ ਸੈੱਲਾਂ ਨੂੰ ਚੁਣੋ।
- ਐਕਸਟਰੈਕਟ ਟੂਲ ਦੇ ਪੈਨ 'ਤੇ, ਐਕਸਟ੍ਰੈਕਟ ਨੰਬਰ ਰੇਡੀਓ ਬਟਨ ਨੂੰ ਚੁਣੋ।
- ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ ਕਿ ਕੀ ਤੁਸੀਂ ਨਤੀਜਿਆਂ ਨੂੰ ਫਾਰਮੂਲੇ ਜਾਂ ਮੁੱਲਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਚਾਹੁੰਦੇ ਹੋ, ਫਾਰਮੂਲੇ ਦੇ ਰੂਪ ਵਿੱਚ ਸੰਮਿਲਿਤ ਕਰੋ ਬਾਕਸ ਨੂੰ ਚੁਣੋ ਜਾਂ ਇਸਨੂੰ ਅਣ-ਚੁਣਿਆ ਛੱਡੋ (ਡਿਫੌਲਟ)।
ਮੇਰੀ ਸਲਾਹ ਇਹ ਹੈ ਕਿ ਇਸ ਬਾਕਸ ਨੂੰ ਚੁਣੋ ਜੇਕਰ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਸਰੋਤ ਸਤਰ ਵਿੱਚ ਕੋਈ ਵੀ ਬਦਲਾਅ ਕੀਤੇ ਜਾਣ 'ਤੇ ਐਕਸਟਰੈਕਟ ਕੀਤੇ ਨੰਬਰ ਆਪਣੇ ਆਪ ਅੱਪਡੇਟ ਹੋਣ। ਜੇਕਰ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਨਤੀਜੇ ਅਸਲੀ ਸਤਰਾਂ 'ਤੇ ਸੁਤੰਤਰ ਹੋਣ (ਉਦਾਹਰਨ ਲਈ ਜੇਕਰ ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਸਰੋਤ ਡੇਟਾ ਨੂੰ ਹਟਾਉਣ ਦੀ ਯੋਜਨਾ ਬਣਾਉਂਦੇ ਹੋ), ਤਾਂ ਇਸ ਬਾਕਸ ਨੂੰ ਨਾ ਚੁਣੋ।
- ਨਤੀਜੇ ਸ਼ਾਮਲ ਕਰੋ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। ਹੋ ਗਿਆ!
ਪਿਛਲੀ ਉਦਾਹਰਨ ਦੀ ਤਰ੍ਹਾਂ, ਦੇ ਨਤੀਜੇਐਕਸਟਰੈਕਸ਼ਨ ਨੰਬਰ ਹਨ, ਮਤਲਬ ਕਿ ਤੁਸੀਂ ਉਹਨਾਂ ਦੇ ਨਾਲ ਗਿਣਤੀ, ਜੋੜ, ਔਸਤ, ਜਾਂ ਕੋਈ ਹੋਰ ਗਣਨਾ ਕਰਨ ਲਈ ਸੁਤੰਤਰ ਹੋ।
ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ ਨਤੀਜੇ ਨੂੰ <9 ਦੇ ਰੂਪ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਚੁਣਿਆ ਹੈ>ਮੁੱਲ , ਅਤੇ ਐਡ-ਇਨ ਨੇ ਉਹੀ ਕੀਤਾ ਜਿਸ ਲਈ ਕਿਹਾ ਗਿਆ ਸੀ:
ਜੇਕਰ ਸੂਤਰ ਵਜੋਂ ਸੰਮਿਲਿਤ ਕਰੋ ਚੈੱਕਬਾਕਸ ਚੁਣਿਆ ਗਿਆ ਸੀ, ਤਾਂ ਤੁਸੀਂ d ਫਾਰਮੂਲਾ ਪੱਟੀ ਵਿੱਚ ਇੱਕ ਫਾਰਮੂਲਾ ਦੇਖੋ। ਇਹ ਜਾਣਨ ਲਈ ਉਤਸੁਕ ਹੋ ਕਿ ਕਿਹੜਾ? ਬੱਸ ਅਲਟੀਮੇਟ ਸੂਟ ਦਾ ਟ੍ਰਾਇਲ ਡਾਊਨਲੋਡ ਕਰੋ ਅਤੇ ਆਪਣੇ ਲਈ ਦੇਖੋ :)
ਉਪਲੱਬਧ ਡਾਉਨਲੋਡਸ
ਐਕਸਲ ਐਕਸਟਰੈਕਟ ਨੰਬਰ - ਨਮੂਨਾ ਵਰਕਬੁੱਕ (.xlsx ਫਾਈਲ)
ਅਲਟੀਮੇਟ ਸੂਟ - ਟ੍ਰਾਇਲ ਵਰਜਨ (.exe ਫਾਈਲ)