Q:

Creating a rectangular Tikz node that fill the entire width

I'm trying to create a rectangular Tikz node which fill the entire width of the graphic. How do I do that?
\documentclass[tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning, fit, arrows.meta, shapes}

\begin{document}

\begin{tikzpicture}[
    font=\sf \scriptsize,
    >=LaTeX,
    cell/.style={
        rectangle, 
        sharp corners=5mm, 
        draw,
        very thick,
        },
    ]

    \node[cell] (foo) {foo};
    \node[cell, right=of foo] (bar) {bar};
    \node[cell, right=of bar] (baz) {baz};

    \node[cell](input) at (0, -1){I want this all the way};

    \draw[->] (input) -- (foo);
    \draw[->] (input) -- (bar);
    \draw[->] (input) -- (baz);
\end{tikzpicture}
\end{document}

I'd like for the outer most edges of the lower rectangle to align with foo and baz. Also it would be nice of the arrows were completely vertical.

A:

you can measure distance from left side of foo node to right side of the baz node and draw rectangle  wit this minimal width:
\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta, calc, fit, positioning}

\begin{document}

    \begin{tikzpicture}[
          > = LaTeX,
cell/.style = {rectangle, draw, very thick, outer sep=0pt,
               font=\sffamily\scriptsize},
                ]
\node[cell] (foo) {foo};
\node[cell, right=of foo] (bar) {bar};
\node[cell, right=of bar] (baz) {baz};
\path   let \p1 = ($(foo.west)-(baz.east)$),
            \n1 = {veclen(\x1,\y1)} in
        node[cell, minimum width=\n1,
             below right=1cm and 0cm of foo.south west] (input) {I want this all the way};
\draw[->]   (input) edge (foo)
            (input) edge (bar)
            (input)  to  (baz);
\end{tikzpicture}
\end{document}

edit: if you like to have vertical arrows between input node and other nodes, that you need to draw arrows as follows:
\draw[->]   (input.north -| foo) edge (foo)
            (input.north -| bar) edge (bar)
            (input.north -| baz)  to  (baz);

