我的If(ElseIf)语句似乎只适用于第一个If语句。我不确定我在这里缺少什么。这适用于需要根据单元格值C3:D11更改的边界的图表。该图表基本上是两个重叠的图形,这就是为什么我有一个次轴值。在IfElse部分期间,两个轴都需要更改。
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
import Data.Aeson
import qualified Data.ByteString.Lazy as LBS
import System.Environment
data Observation = Observation { ident :: Integer
, value :: Integer
, filename :: FilePath
} deriving (Show)
instance FromJSON (FilePath -> Observation) where
parseJSON (Object v) =
do i <- read <$> v .: "id"
l <- v .: "value"
pure $ Observation i l
main :: IO ()
main = do
files <- getArgs
fileContents <- traverse LBS.readFile files
print fileContents
let fs = map (maybe (error "Invalid json") id . decode) fileContents
jsons :: [Observation]
jsons = zipWith ($) fs files
print jsons
谢谢!
答案 0 :(得分:2)
很简单,你的if else陈述是错误的。
-20它低于-15所以它总是做第一个If里面的东西。
您应该执行以下操作:
If cell.Value < -15 And cell.Value > -20 Then
cht.Axes(xlCategory).MinimumScale = -20
cht.Axes(xlValue, xlSecondary).MinimumScale = -20
ElseIf cell.Value < -20 And cell.Value > -30 Then
//do stuff here
你继续那样。你应该对正值做同样的事情,我认为你没有考虑值-20,-30等(因为你排除它们)。