Stock screening is a complicated topic. Beyond usual attributes, many derived (for example, P/CF is a derived attribute of a given stock) ratios or attributes can make this convoluted for beginners. And then, there are "machine learning" models learning to pick awesome stocks based on data, especially through backtesting with historical data streams.
For Indian stock market, I use the screener.in tool (free) to save my screens. You can play with some public screens listed over there.
Here I present a specific screen focusing on "Undervalued Mid-Cap and Small-Cap" companies.
Free cash flow > 0 and
Debt to equity < 1 and
Pledged percentage < 10 and
Current ratio > 1.4 and
EPS > EPS last year and
Sales growth 3Years > 10 and
Profit growth 3Years > 10 and
Profit growth > 10 and
Sales growth > 10 and
Average return on equity 3Years > 20 and
Return on equity > 20 and
Average return on capital employed 3Years > 20 and
Market Capitalization < 10000 and
Market Capitalization > 50 and
Profit growth 3Years > Price to Earning and
EVEBITDA <= 10 and
Volume > 1000
Running this across all Indian stocks results just 3 stocks
Feel free to play with screening criterions and research meticulously resulting companies (manual research is tremendously important for any good analyst / investor)