web-dev-qa-db-ja.com

トレンドラインを5期間だけ後方に予測できるのに、1000以上前方に予測できるのはなぜですか?

それは意味がありません。 WindowsのExcel2010で実行できますが、OSXのExcel2011では実行できません。

私が使用したワークブック: http://cl.ly/Ewfe

スクリーニー: enter image description here

2
Tyilo

誰かがこれをしたい場合に備えて、OSXでこれを行うbashスクリプトを作成しました。

あなたはそれをこのように使います:

backward_forecast workbook.xlsx forecast_number

脚本:

#!/bin/bash
if [[ $# -lt 2 ]]
then
    echo "Usage: backward_forecast workbook.xlsx forecast_number"
    exit 1
fi
extension="${1##*.}"
if [[ "$extension" != xlsx ]]
then
    echo "Unknown extension: $extension"
    exit 2
fi

OLD_IFS="$IFS"
IFS=$'\n'
charts=( $(zipinfo -1 "$1" 2> /dev/null | grep '^xl/charts/.*\.xml') )
IFS="$OLD_IFS"

chart_files="${#charts[@]}"
case "$chart_files" in
    0)
        echo "No charts found in $1."
        exit 3
    ;;
    1)
        process_files=( "${charts[0]}" )
    ;;
    *)
        options=""
        i=0
        for c in "${charts[@]}"
        do
            i=$(($i+1))
            tmp="${c##*/}"
            options+="$i) ${tmp/.xml}"$'\n'
        done
        while true
        do
            echo "Multiple chart files found."
            echo "Please select the chart you want to change:"
            echo
            echo "$options"
            echo
            read -p "Chart number (* = all): " input
            if [[ "$input" == "*" ]]
            then
                process_files=( "${charts[@]}" )
                break
            Elif [[ "$input" -gt 0 && "$input" -le "$chart_files" ]]
            then
                input=$(($input-1))
                process_files=( "${charts[$input]}" )
                break
            else
                clear
                echo "Bad selection number!"
                echo
            fi
        done
    ;;
esac

cd /tmp
mkdir -p xl/charts
for f in "${process_files[@]}"
do
    unzip -p "$1" "$f" | sed 's/<c:backward val="[^"]*"\/>/<c:backward val="'"$2"'"\/>/' > "$f"
    Zip -q "$1" "$f"
    rm -f "$f"
done
1
Tyilo